All Projects → Commvault → cvpysdk

Commvault / cvpysdk

Licence: Apache-2.0 license
Developer SDK - Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to cvpysdk

Coingecko Api
A Node.js wrapper for the CoinGecko API with no dependencies.
Stars: ✭ 159 (+218%)
Mutual labels:  api-wrapper
Discogs
A Ruby wrapper of the Discogs.com API
Stars: ✭ 195 (+290%)
Mutual labels:  api-wrapper
Python Scrapyd Api
A Python wrapper for working with Scrapyd's API.
Stars: ✭ 235 (+370%)
Mutual labels:  api-wrapper
Redd
Redd is a batteries-included API wrapper for reddit.
Stars: ✭ 180 (+260%)
Mutual labels:  api-wrapper
Virustotal Api
Virus Total Public/Private/Intel API
Stars: ✭ 189 (+278%)
Mutual labels:  api-wrapper
Python Onedrive
Obsolete python/cli module for MS SkyDrive/OneDrive's old API, do not use for new projects
Stars: ✭ 202 (+304%)
Mutual labels:  api-wrapper
Eos Java Rpc Wrapper
Stars: ✭ 162 (+224%)
Mutual labels:  api-wrapper
Notion Api
Unofficial Notion.so API
Stars: ✭ 250 (+400%)
Mutual labels:  api-wrapper
Github4s
A GitHub API wrapper written in Scala
Stars: ✭ 194 (+288%)
Mutual labels:  api-wrapper
Php Ovh
Lightweight PHP wrapper for OVH APIs. That's the easiest way to use OVH.com APIs in your PHP applications.
Stars: ✭ 230 (+360%)
Mutual labels:  api-wrapper
Pybliometrics
Python-based API-Wrapper to access Scopus
Stars: ✭ 181 (+262%)
Mutual labels:  api-wrapper
Riot Api Java
Riot Games API Java Library
Stars: ✭ 184 (+268%)
Mutual labels:  api-wrapper
Taxize
A taxonomic toolbelt for R
Stars: ✭ 209 (+318%)
Mutual labels:  api-wrapper
Nipyapi
A convenient Python wrapper for Apache NiFi
Stars: ✭ 169 (+238%)
Mutual labels:  api-wrapper
Betfair
betfairlightweight - python wrapper for Betfair API-NG (with streaming)
Stars: ✭ 246 (+392%)
Mutual labels:  api-wrapper
Jda
Java wrapper for the popular chat & VOIP service: Discord https://discord.com
Stars: ✭ 2,598 (+5096%)
Mutual labels:  api-wrapper
Binance
A .NET Standard Binance API library.
Stars: ✭ 199 (+298%)
Mutual labels:  api-wrapper
conekta-elixir
Elixir library for Conekta api calls
Stars: ✭ 15 (-70%)
Mutual labels:  api-wrapper
Play Store Api
Google Play Store protobuf API wrapper in java
Stars: ✭ 249 (+398%)
Mutual labels:  api-wrapper
Python Ovh
Thin wrapper around OVH's APIs. Handles all the hard work including credential creation and requests signing.
Stars: ✭ 213 (+326%)
Mutual labels:  api-wrapper

CVPySDK

CVPySDK is a Python Package for Commvault Software.

CVPySDK uses REST APIs to perform CommCell operations.

Requirements

  • Python 3 and above
  • requests Python package
  • future Python package
  • xmltodict Python package
  • Commvault Software v11 SP7 or later release with WebConsole installed

Installing CVPySDK

CVPySDK can be installed directly from PyPI using pip:

>>> pip install cvpysdk

CVPySDK is available on GitHub here

It can also be installed from source.

After downloading, from within the cvpysdk directory, execute:

>>> python setup.py install

Using CVPySDK

Login to Commcell:
>>> from cvpysdk.commcell import Commcell
>>> commcell = Commcell(webconsole_hostname, commcell_username, commcell_password)
Print all clients:
>>> print(commcell.clients)
Get a client:
>>> client = commcell.clients.get(client_name)
Get an agent:
>>> agent = client.agents.get(agent_name)
Get an instance:
>>> instance = agent.instances.get(instance_name)
Browsing content at instance level:
>>> paths, dictionary = instance.browse(path='c:\\', show_deleted=True)
Browsing content of a instance in a specific time range:
>>> paths, dictionary = instance.browse(path='f:\\', from_time='2010-04-19 02:30:00', to_time='2014-12-20 12:00:00')
Searching a file in instance backup content:
>>> paths, dictionary = instance.find(file_name="*.csv")
Get a backupset:
>>> backupset = instance.backupsets.get(backupset_name)
Run backup for a backupset:
>>> job = backupset.backup()
Browsing content at backupset level:
>>> paths, dictionary = backupset.browse(path='c:\\', show_deleted=True)
Browsing content of a backupset in a specific time range:
>>> paths, dictionary = backupset.browse(path='f:\\', from_time='2010-04-19 02:30:00', to_time='2014-12-20 12:00:00')
Searching a file in backupset backup content:
>>> paths, dictionary = backupset.find(file_name="*.csv")
Get a subclient:
>>> subclient = backupset.subclients.get(subclient_name)
Run backup for a subclient:
>>> job = subclient.backup(backup_level, incremental_backup, incremental_level)
Browsing content at subclient level:
>>> paths, dictionary = subclient.browse(path='c:\\', show_deleted=True)
Browsing content of a subclient in a specific time range:
>>> paths, dictionary = subclient.browse(path='f:\\', from_time='2010-04-19 02:30:00', to_time='2014-12-20 12:00:00')
Searching a file in subclient backup content:
>>> paths, dictionary = subclient.find(file_name="*.txt")
Run restore in place job for a subclient:
>>> job = subclient.restore_in_place(paths, overwrite, restore_data_and_acl)
Run restore out of place job for a subclient:
>>> job = subclient.restore_out_of_place(client, destination_path, paths, overwrite, restore_data_and_acl)
Job Operations:
>>> job.pause()             # Suspends the Job
>>> job.resume()            # Resumes the Job
>>> job.kill()              # Kills the Job
>>> job.status              # Current Status the Job  --  Completed / Pending / Failed / .... / etc.
>>> job.is_finished         # Job finished or not     --  True / False
>>> job.delay_reason        # Job delay reason (if any)
>>> job.pending_reason      # Job pending reason (if any)

Uninstalling

On Windows, if CVPySDK was installed using an .exe or .msi installer, simply use the uninstall feature of "Add/Remove Programs" in the Control Panel.

Alternatively, you can uninstall using the pip command:

>>> pip uninstall cvpysdk

Subclient Support

Subclient operations are currently supported for the following Agents:

  1. File System
  2. Virtual Server
  3. Cloud Apps
  4. SQL Server
  5. NAS / NDMP
  6. SAP HANA
  7. ORACLE
  8. Sybase
  9. SAP ORACLE
  10. Exchange Database
  11. Exchange Mailbox
  12. Informix
  13. Notes Database
  14. MySQL
  15. PostgreS
  16. Big Data Apps

Documentation

To get started, please see the full documentation for this library

Contribution Guidelines

  1. We welcome all the enhancements from everyone although we request the developer to follow some guidelines while interacting with the CVPySDK codebase.
  2. Before adding any enhancements/bug-fixes, we request you to open an Issue first.
  3. The SDK team will go over the Issue and notify if it is required or already been worked on.
  4. If the Issue is approved, the contributor can then make the changes to their fork and open a pull request.

Pull Requests

  • CVPySDK has 2 active branches, namely:
    • master
    • dev
  • The contributor should Fork the dev branch, and make their changes on top of it, and open a Pull Request
  • The master branch will then be updated with the dev branch, once everything is verified
Note: The SDK team will not accept any Pull Requests on the master branch

Coding Considerations

  • All python code should be PEP8 compliant.
  • All changes should be consistent with the design of the SDK.
  • The code should be formatted using autopep8 with line-length set to 99 instead of default 79.
  • All changes and any new methods/classes should be properly documented.
  • The doc strings should be of the same format as existing docs.

Code of Conduct

Everyone interacting in the CVPySDK project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the PyPA Code of Conduct.

License

CVPySDK and its contents are licensed under Commvault License

About Commvault

https://commvault.github.io/cvpysdk/logo.png


Commvault (NASDAQ: CVLT) is a publicly traded data protection and information management software company headquartered in Tinton Falls, New Jersey.

It was formed in 1988 as a development group in Bell Labs, and later became a business unit of AT&T Network Systems. It was incorporated in 1996.

Commvault software assists organizations with data backup and recovery, cloud and infrastructure management, and retention and compliance.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].