Introduction
CrossContract is a robust Python package designed to bring strict data integrity and frictionless interaction to the CROSS ecosystem. It serves as the foundational layer for defining reliable data schemas and contracts.
The package consists of two main components:
- CrossContract: The core library for defining high-integrity, validation-ready data contracts and schemas using Pydantic and Frictionless standards.
- CrossClient: An add-on SDK that leverages these contracts to interact seamlessly with the CrossPlatform.
Requirements
- Python: 3.11 or higher
Installation
This package is hosted directly on GitHub. We strongly recommend installing it within a virtual environment.
Using pip
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/MacOS
source .venv/bin/activate
pip install git+https://github.com/sweet-cross/crosscontract.git
Using uv
uv venv
# Windows
.venv\Scripts\activate
# Linux/MacOS
source .venv/bin/activate
uv pip install git+https://github.com/sweet-cross/crosscontract.git
Alternatively, if you use a project-based approach with uv:
uv init
# Windows
.venv\Scripts\activate
# Linux/MacOS
source .venv/bin/activate
uv add git+https://github.com/sweet-cross/crosscontract.git
Using poetry
Dependencies
The key libraries powering CrossContract are:
- Pydantic: For data validation and settings management.
- Pandas: For powerful data manipulation and analysis.
- SQLAlchemy: For database abstraction and interaction.
- httpx: For synchronous and asynchronous HTTP requests (CrossClient).
Development
We follow a structured development workflow to ensure stability:
- Branch Strategy:
main: Main branch released.
- Contribution Workflow:
- Create an Issue to discuss the change.
- Clone the repository and branch out from
main: - Implement your changes.
- Submit a Pull Request targeting the
mainbranch.
License
This project is licensed under the terms of the MIT license.