Utility library written in Python to convert Swarm hex references into Swarm CIDs
Project description
Swarm CID
📖 Table of Contents
📍 Api
Utility library written in Python to convert Swarm hex references into Swarm CIDs.
The swarm-cid library provides the following functions:
encode_reference(reference, type, version)
Encodes a reference string into a CID.
- reference: The reference string to encode.
- type: The type of the reference (either ReferenceType.MANIFEST or ReferenceType.FEED).
- version: The version of the CID (either 1 or 2). Returns a CID string.
decode_cid(cid)
Decodes a CID string into a dictionary containing information about the underlying data.
- cid: The CID string to decode.
Returns a dictionary with the following keys:
- reference: The reference string extracted from the CID.
- type: The type of the reference (either ReferenceType.MANIFEST or ReferenceType.FEED).
decode_feed_cid(cid)
Decodes a CID string into a feed reference string.
- cid: The CID string to decode. Returns a feed reference string.
decode_manifest_cid(cid)
Decodes a CID string into a manifest reference string.
- cid: The CID string to decode. Returns a manifest reference string.
encode_feed_reference(reference)
Encodes a feed reference string into a CID.
- reference: The feed reference string to encode. Returns a CID string.
encode_manifest_reference(reference)
Encodes a manifest reference string into a CID.
- reference: The manifest reference string to encode.
🚀 Getting Started
Dependencies
py-multiformats-cid
🔧 Installation
pip install swarm_cid_py
🤖 Running swarm-cid-py
>>> from swarm_cid import encode_reference, decode_cid
>>> reference = "4c949794d617238d928ef1dc544ee07cbdcfd6b946e5202fa06c4d32088d7e69"
>>> cid = encode_reference(reference, ReferenceType.MANIFEST, 1)
>>> print(str(cid))
bah5acgzajskjpfgwc4ry3euo6hofitxaps647vvzi3ssal5anrgtecenpzuq
>>> decoded_cid = decode_cid(cid)
>>> print(decoded_cid.to_dict())
{'reference':
'4c949794d617238d928ef1dc544ee07cbdcfd6b946e5202fa06c4d32088d7e69', 'type': 'manifest'}
🧪 Tests
pytest tests/test_swarm_cid.py
🤝 Contributing
Contributions are welcome! Here are several ways you can contribute:
- Submit Pull Requests: Review open PRs, and submit your own PRs.
- Join the Discussions: Share your insights, provide feedback, or ask questions.
- Report Issues: Submit bugs found or log feature requests for ETHERSPHERE.
Contributing Guidelines
Click to expand
- Fork the Repository: Start by forking the project repository to your GitHub account.
- Clone Locally: Clone the forked repository to your local machine using a Git client.
git clone <your-forked-repo-url>
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear and concise message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to GitHub: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
Once your PR is reviewed and approved, it will be merged into the main branch.
📄 License
This project is protected under the BSD-3-Clause License.
Project details
Release history Release notifications | RSS feed
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
Hashes for swarm_cid_py-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aed2b5b8e41dd9727c3f52c5c3736b05d0e0da8a386c4a4b4e54d0b0cd17a01a |
|
MD5 | 90f7a4265c6a54cde2527544359c018c |
|
BLAKE2b-256 | 7e39850560c32f717ccabed2ce2040a57f049802a359ed5da0cef583db57ee96 |