A Python client for interacting with Rivalz API
Project description
Rivalz Python Client
rivalz-py-client
is a Python client for interacting with the Rivalz API. It allows you to upload files, download files, and manage files on the Rivalz platform using IPFS.
Features
- Upload Files: Upload any file to the Rivalz platform and get an IPFS hash.
- Upload Passport Images: Upload passport images to the Rivalz platform.
- Download Files: Download files from the Rivalz platform using an IPFS hash.v
- Delete Files: Delete files from the Rivalz platform using an IPFS hash.
Installation
You can install the rivalz-py-client
package via pip:
pip install rivalz-py-client
Usage
Here is a detailed guide on how to use the rivalz-py-client
to interact with the Rivalz API.
Initialization
First, import the RivalzClient
class and initialize it with your secret token. If you don't provide a token, it will use a default example token.
from rivalz_client.client import RivalzClient
# Initialize the client with your secret token
client = RivalzClient('your_secret_token')
Uploading a File
To upload a file, use the upload_file
method. Provide the path to the file you want to upload.
response = client.upload_file('path/to/your/file.txt')
print(response)
Uploading a Passport Image
To upload a passport image, use the upload_passport
method. Provide the path to the passport image file.
response = client.upload_passport('path/to/your/passport_image.jpg')
print(response)
Downloading a File
To download a file, use the download_file
method with the IPFS hash of the file and the directory where you want to save the file.
file_path = client.download_file('QmSampleHash', 'save/directory')
print(f"File downloaded to: {file_path}")
Deleting a File
To delete a file, use the delete_file
method with the IPFS hash of the file you want to delete.
response = client.delete_file('QmSampleHash')
print(response)
Example
Here is a complete example demonstrating how to use the rivalz-py-client
:
from rivalz_client.client import RivalzClient
# Initialize the client
client = RivalzClient('your_secret_token')
# Upload a file
upload_response = client.upload_file('path/to/your/file.txt')
print(f"Uploaded File Response: {upload_response}")
# Upload a passport image
passport_response = client.upload_passport('path/to/your/passport_image.jpg')
print(f"Uploaded Passport Response: {passport_response}")
# Download a file
ipfs_hash = 'zdpuB35nxpdDrZibAxWZLVkRepcWLfCbATCUDi5HYYHBwdkZf' # Replace with the actual IPFS hash
# Download the file
try:
file,filename = client.download(ipfs_hash)
print(f"File downloaded to: {file}, filename: {filename}")
except Exception as e:
print(f"An error occurred during file download: {e}")
# Delete a file
delete_response = client.delete_file('QmSampleHash')
print(f"Delete File Response: {delete_response}")
Contributing
Contributions are welcome! Please fork the repository and submit a pull request with your changes.
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature/your-feature
). - Create a new pull request.
Publish package
To publish your package, you will need to use setuptools
and wheel
to build your package. Here are the steps to follow:
-
Make sure you have
setuptools
andwheel
installed. If not, you can install them usingpip
:pip install setuptools wheel
-
Create a
setup.py
file in the root directory of your project. This file will contain the metadata about your package, such as its name, version, and dependencies. Here is an examplesetup.py
file:from setuptools import setup, find_packages setup( name='rivalz-py-client', version='1.0.0', description='Python client for interacting with the Rivalz API', author='Your Name', author_email='your_email@example.com', packages=find_packages(), install_requires=[ 'requests', ], )
Make sure to replace
'Your Name'
and'your_email@example.com'
with your actual name and email address. -
Build the package by running the following command:
python setup.py sdist bdist_wheel
This will create a
dist
directory containing the built package files. -
Upload the package to the Python Package Index (PyPI) using
twine
. If you haven't already, you will need to create an account on PyPI. Once you have an account, you can upload the package by running the following command:twine upload dist/*
This will upload the package to PyPI, making it available for others to install using
pip
.
That's it! Your package is now published and can be installed by others using pip install rivalz-py-client
.
Remember to update the version number in your setup.py
file each time you make changes to your package and want to publish a new version.
Explanation
- Project Title: Clearly states the name of the project.
- Features: Lists the main functionalities of the package.
- Installation: Provides the command to install the package using
pip
. - Usage: Detailed steps on how to initialize the client, upload files, upload passport images, download files, and delete files.
- Example: A complete example script that demonstrates the usage of all the major functionalities.
- Contributing: Instructions for contributing to the project.
- License: Specifies the license under which the project is released.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file rivalz-client-0.1.10.tar.gz
.
File metadata
- Download URL: rivalz-client-0.1.10.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4dea3558aba736646fe0c3a0b213870ddb36295db1f4e8c56d699fb1089d39fc |
|
MD5 | cd8d9d076c9cc70c24d3fc316ffacb8e |
|
BLAKE2b-256 | bccdaa6f1e6ec2e846770c780974f0b23905a176a7954cd97751e8149e10ba18 |
File details
Details for the file rivalz_client-0.1.10-py3-none-any.whl
.
File metadata
- Download URL: rivalz_client-0.1.10-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 405f58b3640ca3f6d82b255766ddcf600dc328a21e99c0a6376e5bc2223f859c |
|
MD5 | 110b4630bfbd0aba22370a61276e049a |
|
BLAKE2b-256 | 019f66bb95553c6c7529c9d891ac3fccb2ffeea1cf9e11b6972f7b5910995810 |