Skip to main content


Swarm CID

Python Poetry GitHub%20Actions Pytest

Code style: black imports: isort

GitHub license git-last-commit GitHub commit activity GitHub top language

📖 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:

Contributing Guidelines

Click to expand
  1. Fork the Repository: Start by forking the project repository to your GitHub account.
  2. Clone Locally: Clone the forked repository to your local machine using a Git client.
    git clone <your-forked-repo-url>
    
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
    
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear and concise message describing your updates.
    git commit -m 'Implemented new feature x.'
    
  6. Push to GitHub: Push the changes to your forked repository.
    git push origin new-feature-x
    
  7. 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.

Return


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swarm_cid_py-0.1.3.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

swarm_cid_py-0.1.3-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file swarm_cid_py-0.1.3.tar.gz.

File metadata

  • Download URL: swarm_cid_py-0.1.3.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.0

File hashes

Hashes for swarm_cid_py-0.1.3.tar.gz
Algorithm Hash digest
SHA256 96449f6300350e53b26b3423cea84e24d016b4ee3f5b7bfd79e9185de6781b3f
MD5 7e980caa142cdb4c4c594cd436e64609
BLAKE2b-256 40026776b0b2879427b96ac4e049660be377d5fe8c03cb19e492b63507b4d24a

See more details on using hashes here.

File details

Details for the file swarm_cid_py-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: swarm_cid_py-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.0

File hashes

Hashes for swarm_cid_py-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d67764b7a373b9b7502bdf3b658f9a2dac0bc256788a34c9d054bb6ec7c0c5e4
MD5 b92a8d559ffba6c8ee09880524a3c487
BLAKE2b-256 4789637cadd6caa405920d6a54b0954440d8fb6ce1e59b6d63b788769201e3fc

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 files

0.1.2

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page