py-immutablex


Namepy-immutablex JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/luizrrodrigues/py-immutablex
SummaryA Python library for interacting with the Immutable X API
upload_time2025-02-24 22:53:54
maintainerNone
docs_urlNone
authorLuiz Ricardo Rodrigues
requires_python>=3.7
licenseMIT
keywords immutablex blockchain starknet ethereum python
VCS
bugtrack_url
requirements aiohappyeyeballs aiohttp aiosignal annotated-types asgiref asn1crypto astroid async-timeout attrs base58 bip32 bitarray cachetools cairo-lang calmjs.parse cbor2 certifi cffi charset-normalizer ckzg coincurve crcmod crypto_cpp_py cryptography cytoolz dill dj-database-url Django django-appconf django-compressor django-environ django-heroku ecdsa ed25519-blake2b eth-account eth-hash eth-keyfile eth-keys eth-rlp eth-typing eth-utils eth_abi exceptiongroup execnet fastecdsa frozendict frozenlist gprof2dot gunicorn hdwallet hexbytes idna iniconfig isort jsonschema jsonschema-specifications lark lru-dict marshmallow marshmallow-enum marshmallow-oneofschema marshmallow_dataclass mccabe mpmath multidict mypy-extensions numpy packaging parsimonious pipdeptree platformdirs pluggy ply poseidon_py prometheus_client protobuf psycopg2 py-immutablex pycparser pycryptodome pydantic pydantic_core pylint pylint-django pylint-plugin-utils PyNaCl pytest pytest-asyncio pytest-profiling pytest-xdist python-dotenv pyunormalize PyYAML rcssmin referencing regex requests requests-mock rjsmin rlp rpds-py six sqlparse starknet-py sympy tomli tomlkit toolz typeguard typing-inspect typing_extensions urllib3 web3 websockets whitenoise yarl
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # py-immutablex

![Donate](https://img.shields.io/badge/Donate-IMX/ETH-green) `0xF610975E70674b7b6429da6266a1a5d8C1C99238`

A Python library for interacting with the [Immutable X](https://www.immutable.com/) API. This library provides tools to derive Stark keys from Ethereum keys, register users, perform transfers, and more—aiming to eventually cover all Immutable X API resources.

[![PyPI version](https://badge.fury.io/py/py-immutablex.svg)](https://badge.fury.io/py/py-immutablex) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ![Tests](https://github.com/luizrrodrigues/py-immutablex/actions/workflows/tests.yml/badge.svg)

## Features
- Derive Stark keys from Ethereum private keys for Immutable X.
- Register users on Immutable X with Ethereum and Stark signatures.
- Perform transfers (e.g., ETH) using the Immutable X API.
- (In progress) Full coverage of Immutable X API endpoints: assets, orders, trades, balances, and more.

## Installation

Install via pip:

```bash
pip install py-immutablex
```

## Quickstart

Here’s how to initialize the client and perform a transfer:

```python
from py_immutablex import IMXClient

# Initialize with your Ethereum private key
client = IMXClient('0xYourEthereumPrivateKeyHere')

# Transfer 1 ETH (in wei) to another address
transfer_id = client.transfer(
    transfer_to='0xRecipientAddress',
    token='ETH',
    amount='1000000000000000000'  # 1 ETH in wei
)
print(f'Transfer ID: {transfer_id}')
```

## Prerequisites

- Python 3.7+
- An Ethereum private key (keep it secure!)
- Dependencies (installed automatically via pip):
  - requests
  - bip32
  - eth-account
  - starkware-crypto-signature

## Development Status

This library is under active development. Current focus:
- Robust key derivation and user registration.
- Transfer functionality.

Planned features:
- Full Immutable X API support (assets, orders, trades, etc.).
- Comprehensive error handling and logging.
- Unit tests and CI/CD.

Check the [Issues](https://github.com/luizrrodrigues/py-immutablex/issues) tab for progress or to request features!

## Contributing

Contributions are welcome! Fork the repo, create a branch, and submit a pull request. See CONTRIBUTING.md for details.
1. Fork the repo.
2. Install dependencies: pip install -r requirements.txt
3. Run tests (WIP): pytest
4. Submit a PR!

## License

This project is licensed under the MIT License - see the LICENSE file for details.

## Acknowledgments
- Built with inspiration from the Immutable X developer community.

-----

Questions? Bugs? Open an issue or reach out: [@luizrrodrigues](https://github.com/luizrrodrigues).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/luizrrodrigues/py-immutablex",
    "name": "py-immutablex",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "immutablex blockchain starknet ethereum python",
    "author": "Luiz Ricardo Rodrigues",
    "author_email": "trinix@luizrrodrigues.com.br",
    "download_url": "https://files.pythonhosted.org/packages/74/f9/6d784c043fedf3f56f5ac9afc96e885fefb0a61044ab2b33bbe7e647f011/py_immutablex-0.1.0.tar.gz",
    "platform": null,
    "description": "# py-immutablex\n\n![Donate](https://img.shields.io/badge/Donate-IMX/ETH-green) `0xF610975E70674b7b6429da6266a1a5d8C1C99238`\n\nA Python library for interacting with the [Immutable X](https://www.immutable.com/) API. This library provides tools to derive Stark keys from Ethereum keys, register users, perform transfers, and more\u2014aiming to eventually cover all Immutable X API resources.\n\n[![PyPI version](https://badge.fury.io/py/py-immutablex.svg)](https://badge.fury.io/py/py-immutablex) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ![Tests](https://github.com/luizrrodrigues/py-immutablex/actions/workflows/tests.yml/badge.svg)\n\n## Features\n- Derive Stark keys from Ethereum private keys for Immutable X.\n- Register users on Immutable X with Ethereum and Stark signatures.\n- Perform transfers (e.g., ETH) using the Immutable X API.\n- (In progress) Full coverage of Immutable X API endpoints: assets, orders, trades, balances, and more.\n\n## Installation\n\nInstall via pip:\n\n```bash\npip install py-immutablex\n```\n\n## Quickstart\n\nHere\u2019s how to initialize the client and perform a transfer:\n\n```python\nfrom py_immutablex import IMXClient\n\n# Initialize with your Ethereum private key\nclient = IMXClient('0xYourEthereumPrivateKeyHere')\n\n# Transfer 1 ETH (in wei) to another address\ntransfer_id = client.transfer(\n    transfer_to='0xRecipientAddress',\n    token='ETH',\n    amount='1000000000000000000'  # 1 ETH in wei\n)\nprint(f'Transfer ID: {transfer_id}')\n```\n\n## Prerequisites\n\n- Python 3.7+\n- An Ethereum private key (keep it secure!)\n- Dependencies (installed automatically via pip):\n  - requests\n  - bip32\n  - eth-account\n  - starkware-crypto-signature\n\n## Development Status\n\nThis library is under active development. Current focus:\n- Robust key derivation and user registration.\n- Transfer functionality.\n\nPlanned features:\n- Full Immutable X API support (assets, orders, trades, etc.).\n- Comprehensive error handling and logging.\n- Unit tests and CI/CD.\n\nCheck the [Issues](https://github.com/luizrrodrigues/py-immutablex/issues) tab for progress or to request features!\n\n## Contributing\n\nContributions are welcome! Fork the repo, create a branch, and submit a pull request. See CONTRIBUTING.md for details.\n1. Fork the repo.\n2. Install dependencies: pip install -r requirements.txt\n3. Run tests (WIP): pytest\n4. Submit a PR!\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Acknowledgments\n- Built with inspiration from the Immutable X developer community.\n\n-----\n\nQuestions? Bugs? Open an issue or reach out: [@luizrrodrigues](https://github.com/luizrrodrigues).\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Python library for interacting with the Immutable X API",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/luizrrodrigues/py-immutablex"
    },
    "split_keywords": [
        "immutablex",
        "blockchain",
        "starknet",
        "ethereum",
        "python"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0a56ff04502f0b712ed7046ab873eae9502c87cc9a4467f1e619285773f4c8d9",
                "md5": "66b4a2fa45edd5ca919b443c400f2bb9",
                "sha256": "512c33a6296bb72ad6dde3c4feb0ace176b46e2383fbf411080c71626b419693"
            },
            "downloads": -1,
            "filename": "py_immutablex-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "66b4a2fa45edd5ca919b443c400f2bb9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 9636,
            "upload_time": "2025-02-24T22:53:52",
            "upload_time_iso_8601": "2025-02-24T22:53:52.746186Z",
            "url": "https://files.pythonhosted.org/packages/0a/56/ff04502f0b712ed7046ab873eae9502c87cc9a4467f1e619285773f4c8d9/py_immutablex-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "74f96d784c043fedf3f56f5ac9afc96e885fefb0a61044ab2b33bbe7e647f011",
                "md5": "c17c54e317e4f95b20c15cd4ee86260f",
                "sha256": "f4fc49370866d1d0e640184708483f5f9561142810bc62b7ad18c581bc0f3a0f"
            },
            "downloads": -1,
            "filename": "py_immutablex-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c17c54e317e4f95b20c15cd4ee86260f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 11211,
            "upload_time": "2025-02-24T22:53:54",
            "upload_time_iso_8601": "2025-02-24T22:53:54.790766Z",
            "url": "https://files.pythonhosted.org/packages/74/f9/6d784c043fedf3f56f5ac9afc96e885fefb0a61044ab2b33bbe7e647f011/py_immutablex-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-24 22:53:54",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "luizrrodrigues",
    "github_project": "py-immutablex",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "aiohappyeyeballs",
            "specs": [
                [
                    "==",
                    "2.4.0"
                ]
            ]
        },
        {
            "name": "aiohttp",
            "specs": [
                [
                    "==",
                    "3.10.5"
                ]
            ]
        },
        {
            "name": "aiosignal",
            "specs": [
                [
                    "==",
                    "1.3.1"
                ]
            ]
        },
        {
            "name": "annotated-types",
            "specs": [
                [
                    "==",
                    "0.7.0"
                ]
            ]
        },
        {
            "name": "asgiref",
            "specs": [
                [
                    "==",
                    "3.8.1"
                ]
            ]
        },
        {
            "name": "asn1crypto",
            "specs": [
                [
                    "==",
                    "1.5.1"
                ]
            ]
        },
        {
            "name": "astroid",
            "specs": [
                [
                    "==",
                    "3.2.4"
                ]
            ]
        },
        {
            "name": "async-timeout",
            "specs": [
                [
                    "==",
                    "4.0.3"
                ]
            ]
        },
        {
            "name": "attrs",
            "specs": [
                [
                    "==",
                    "24.2.0"
                ]
            ]
        },
        {
            "name": "base58",
            "specs": [
                [
                    "==",
                    "2.1.1"
                ]
            ]
        },
        {
            "name": "bip32",
            "specs": [
                [
                    "==",
                    "4.0"
                ]
            ]
        },
        {
            "name": "bitarray",
            "specs": [
                [
                    "==",
                    "2.9.2"
                ]
            ]
        },
        {
            "name": "cachetools",
            "specs": [
                [
                    "==",
                    "5.5.0"
                ]
            ]
        },
        {
            "name": "cairo-lang",
            "specs": [
                [
                    "==",
                    "0.13.3"
                ]
            ]
        },
        {
            "name": "calmjs.parse",
            "specs": [
                [
                    "==",
                    "1.3.1"
                ]
            ]
        },
        {
            "name": "cbor2",
            "specs": [
                [
                    "==",
                    "5.6.5"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2024.7.4"
                ]
            ]
        },
        {
            "name": "cffi",
            "specs": [
                [
                    "==",
                    "1.17.1"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.3.2"
                ]
            ]
        },
        {
            "name": "ckzg",
            "specs": [
                [
                    "==",
                    "1.0.2"
                ]
            ]
        },
        {
            "name": "coincurve",
            "specs": [
                [
                    "==",
                    "20.0.0"
                ]
            ]
        },
        {
            "name": "crcmod",
            "specs": [
                [
                    "==",
                    "1.7"
                ]
            ]
        },
        {
            "name": "crypto_cpp_py",
            "specs": [
                [
                    "==",
                    "1.4.5"
                ]
            ]
        },
        {
            "name": "cryptography",
            "specs": [
                [
                    "==",
                    "44.0.1"
                ]
            ]
        },
        {
            "name": "cytoolz",
            "specs": [
                [
                    "==",
                    "0.12.3"
                ]
            ]
        },
        {
            "name": "dill",
            "specs": [
                [
                    "==",
                    "0.3.8"
                ]
            ]
        },
        {
            "name": "dj-database-url",
            "specs": [
                [
                    "==",
                    "2.2.0"
                ]
            ]
        },
        {
            "name": "Django",
            "specs": [
                [
                    "==",
                    "5.1"
                ]
            ]
        },
        {
            "name": "django-appconf",
            "specs": [
                [
                    "==",
                    "1.0.6"
                ]
            ]
        },
        {
            "name": "django-compressor",
            "specs": [
                [
                    "==",
                    "4.5.1"
                ]
            ]
        },
        {
            "name": "django-environ",
            "specs": [
                [
                    "==",
                    "0.11.2"
                ]
            ]
        },
        {
            "name": "django-heroku",
            "specs": [
                [
                    "==",
                    "0.3.1"
                ]
            ]
        },
        {
            "name": "ecdsa",
            "specs": [
                [
                    "==",
                    "0.18.0"
                ]
            ]
        },
        {
            "name": "ed25519-blake2b",
            "specs": [
                [
                    "==",
                    "1.4.1"
                ]
            ]
        },
        {
            "name": "eth-account",
            "specs": [
                [
                    "==",
                    "0.11.3"
                ]
            ]
        },
        {
            "name": "eth-hash",
            "specs": [
                [
                    "==",
                    "0.7.0"
                ]
            ]
        },
        {
            "name": "eth-keyfile",
            "specs": [
                [
                    "==",
                    "0.8.1"
                ]
            ]
        },
        {
            "name": "eth-keys",
            "specs": [
                [
                    "==",
                    "0.5.1"
                ]
            ]
        },
        {
            "name": "eth-rlp",
            "specs": [
                [
                    "==",
                    "1.0.1"
                ]
            ]
        },
        {
            "name": "eth-typing",
            "specs": [
                [
                    "==",
                    "4.4.0"
                ]
            ]
        },
        {
            "name": "eth-utils",
            "specs": [
                [
                    "==",
                    "4.1.1"
                ]
            ]
        },
        {
            "name": "eth_abi",
            "specs": [
                [
                    "==",
                    "5.1.0"
                ]
            ]
        },
        {
            "name": "exceptiongroup",
            "specs": [
                [
                    "==",
                    "1.2.2"
                ]
            ]
        },
        {
            "name": "execnet",
            "specs": [
                [
                    "==",
                    "2.1.1"
                ]
            ]
        },
        {
            "name": "fastecdsa",
            "specs": [
                [
                    "==",
                    "2.3.2"
                ]
            ]
        },
        {
            "name": "frozendict",
            "specs": [
                [
                    "==",
                    "2.4.6"
                ]
            ]
        },
        {
            "name": "frozenlist",
            "specs": [
                [
                    "==",
                    "1.4.1"
                ]
            ]
        },
        {
            "name": "gprof2dot",
            "specs": [
                [
                    "==",
                    "2024.6.6"
                ]
            ]
        },
        {
            "name": "gunicorn",
            "specs": [
                [
                    "==",
                    "23.0.0"
                ]
            ]
        },
        {
            "name": "hdwallet",
            "specs": [
                [
                    "==",
                    "3.3.0"
                ]
            ]
        },
        {
            "name": "hexbytes",
            "specs": [
                [
                    "==",
                    "0.3.1"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.7"
                ]
            ]
        },
        {
            "name": "iniconfig",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "isort",
            "specs": [
                [
                    "==",
                    "5.13.2"
                ]
            ]
        },
        {
            "name": "jsonschema",
            "specs": [
                [
                    "==",
                    "4.23.0"
                ]
            ]
        },
        {
            "name": "jsonschema-specifications",
            "specs": [
                [
                    "==",
                    "2023.12.1"
                ]
            ]
        },
        {
            "name": "lark",
            "specs": [
                [
                    "==",
                    "1.2.2"
                ]
            ]
        },
        {
            "name": "lru-dict",
            "specs": [
                [
                    "==",
                    "1.2.0"
                ]
            ]
        },
        {
            "name": "marshmallow",
            "specs": [
                [
                    "==",
                    "3.23.0"
                ]
            ]
        },
        {
            "name": "marshmallow-enum",
            "specs": [
                [
                    "==",
                    "1.5.1"
                ]
            ]
        },
        {
            "name": "marshmallow-oneofschema",
            "specs": [
                [
                    "==",
                    "3.1.1"
                ]
            ]
        },
        {
            "name": "marshmallow_dataclass",
            "specs": [
                [
                    "==",
                    "8.6.1"
                ]
            ]
        },
        {
            "name": "mccabe",
            "specs": [
                [
                    "==",
                    "0.7.0"
                ]
            ]
        },
        {
            "name": "mpmath",
            "specs": [
                [
                    "==",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "multidict",
            "specs": [
                [
                    "==",
                    "6.0.5"
                ]
            ]
        },
        {
            "name": "mypy-extensions",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    "==",
                    "2.1.2"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "24.1"
                ]
            ]
        },
        {
            "name": "parsimonious",
            "specs": [
                [
                    "==",
                    "0.10.0"
                ]
            ]
        },
        {
            "name": "pipdeptree",
            "specs": [
                [
                    "==",
                    "2.23.4"
                ]
            ]
        },
        {
            "name": "platformdirs",
            "specs": [
                [
                    "==",
                    "4.2.2"
                ]
            ]
        },
        {
            "name": "pluggy",
            "specs": [
                [
                    "==",
                    "1.5.0"
                ]
            ]
        },
        {
            "name": "ply",
            "specs": [
                [
                    "==",
                    "3.11"
                ]
            ]
        },
        {
            "name": "poseidon_py",
            "specs": [
                [
                    "==",
                    "0.1.5"
                ]
            ]
        },
        {
            "name": "prometheus_client",
            "specs": [
                [
                    "==",
                    "0.21.0"
                ]
            ]
        },
        {
            "name": "protobuf",
            "specs": [
                [
                    "==",
                    "5.27.3"
                ]
            ]
        },
        {
            "name": "psycopg2",
            "specs": [
                [
                    "==",
                    "2.9.9"
                ]
            ]
        },
        {
            "name": "py-immutablex",
            "specs": []
        },
        {
            "name": "pycparser",
            "specs": [
                [
                    "==",
                    "2.22"
                ]
            ]
        },
        {
            "name": "pycryptodome",
            "specs": [
                [
                    "==",
                    "3.20.0"
                ]
            ]
        },
        {
            "name": "pydantic",
            "specs": [
                [
                    "==",
                    "2.8.2"
                ]
            ]
        },
        {
            "name": "pydantic_core",
            "specs": [
                [
                    "==",
                    "2.20.1"
                ]
            ]
        },
        {
            "name": "pylint",
            "specs": [
                [
                    "==",
                    "3.2.6"
                ]
            ]
        },
        {
            "name": "pylint-django",
            "specs": [
                [
                    "==",
                    "2.5.5"
                ]
            ]
        },
        {
            "name": "pylint-plugin-utils",
            "specs": [
                [
                    "==",
                    "0.8.2"
                ]
            ]
        },
        {
            "name": "PyNaCl",
            "specs": [
                [
                    "==",
                    "1.5.0"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    "==",
                    "8.3.3"
                ]
            ]
        },
        {
            "name": "pytest-asyncio",
            "specs": [
                [
                    "==",
                    "0.24.0"
                ]
            ]
        },
        {
            "name": "pytest-profiling",
            "specs": [
                [
                    "==",
                    "1.7.0"
                ]
            ]
        },
        {
            "name": "pytest-xdist",
            "specs": [
                [
                    "==",
                    "3.6.1"
                ]
            ]
        },
        {
            "name": "python-dotenv",
            "specs": [
                [
                    "==",
                    "1.0.1"
                ]
            ]
        },
        {
            "name": "pyunormalize",
            "specs": [
                [
                    "==",
                    "15.1.0"
                ]
            ]
        },
        {
            "name": "PyYAML",
            "specs": [
                [
                    "==",
                    "6.0.2"
                ]
            ]
        },
        {
            "name": "rcssmin",
            "specs": [
                [
                    "==",
                    "1.1.2"
                ]
            ]
        },
        {
            "name": "referencing",
            "specs": [
                [
                    "==",
                    "0.35.1"
                ]
            ]
        },
        {
            "name": "regex",
            "specs": [
                [
                    "==",
                    "2024.7.24"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.32.3"
                ]
            ]
        },
        {
            "name": "requests-mock",
            "specs": [
                [
                    "==",
                    "1.12.1"
                ]
            ]
        },
        {
            "name": "rjsmin",
            "specs": [
                [
                    "==",
                    "1.2.2"
                ]
            ]
        },
        {
            "name": "rlp",
            "specs": [
                [
                    "==",
                    "4.0.1"
                ]
            ]
        },
        {
            "name": "rpds-py",
            "specs": [
                [
                    "==",
                    "0.20.0"
                ]
            ]
        },
        {
            "name": "six",
            "specs": [
                [
                    "==",
                    "1.16.0"
                ]
            ]
        },
        {
            "name": "sqlparse",
            "specs": [
                [
                    "==",
                    "0.5.1"
                ]
            ]
        },
        {
            "name": "starknet-py",
            "specs": [
                [
                    "==",
                    "0.25.0"
                ]
            ]
        },
        {
            "name": "sympy",
            "specs": [
                [
                    "==",
                    "1.12.1"
                ]
            ]
        },
        {
            "name": "tomli",
            "specs": [
                [
                    "==",
                    "2.0.1"
                ]
            ]
        },
        {
            "name": "tomlkit",
            "specs": [
                [
                    "==",
                    "0.13.2"
                ]
            ]
        },
        {
            "name": "toolz",
            "specs": [
                [
                    "==",
                    "0.12.1"
                ]
            ]
        },
        {
            "name": "typeguard",
            "specs": [
                [
                    "==",
                    "2.13.3"
                ]
            ]
        },
        {
            "name": "typing-inspect",
            "specs": [
                [
                    "==",
                    "0.9.0"
                ]
            ]
        },
        {
            "name": "typing_extensions",
            "specs": [
                [
                    "==",
                    "4.12.2"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.2.2"
                ]
            ]
        },
        {
            "name": "web3",
            "specs": [
                [
                    "==",
                    "6.20.2"
                ]
            ]
        },
        {
            "name": "websockets",
            "specs": [
                [
                    "==",
                    "13.0"
                ]
            ]
        },
        {
            "name": "whitenoise",
            "specs": [
                [
                    "==",
                    "6.7.0"
                ]
            ]
        },
        {
            "name": "yarl",
            "specs": [
                [
                    "==",
                    "1.9.4"
                ]
            ]
        }
    ],
    "lcname": "py-immutablex"
}
        
Elapsed time: 1.24563s