Skip to content

astraly-labs/pragma-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pragma SDK

codecov

Tests

Package

Read the Docs


Pragma SDK, written in Python.

One can leverage this SDK to interact with Pragma on Starknet. This SDK should also be used by Data Providers willing to push data on Pragma contracts.

About

For more information, see the project's repository, documentation overview and documentation on how to publish data.

Repository Structure

Our main SDK:

Our utility library:

Our services used to publish data etc...:

Local Development

Resyncing

When developing locally and making changes to the main pragma-sdk package make sure to apply your changes by running uv sync --reinstall.

Linters

  1. Install pre-commit with pip install pre-commit
  2. git add the files you want to fix lint
  3. pre-commit run --all-files
  4. git add them again

Releasing a new version

We provide a version management script to help maintain consistent versioning across all packages.

Installation

  1. Make the script executable:
chmod +x scripts/version.sh

Usage

Run the version checker:

bash scripts/version.sh

The script will:

  • Fetch the latest version from PyPI

  • Check all local package versions

  • Display the current version status

  • Offer options to:

Bump the major version (x.y.z → x+1.0.0)
Bump the minor version (x.y.z → x.y+1.0)
Bump the patch version (x.y.z → x.y.z+1)

The script will automatically update all __init__.py files in the following packages:

.
    └── pragma-sdk
        ├── pragma-sdk
        ├── pragma-utils
        ├── merkle-maker
        ├── price-pusher
        ├── vrf-listener
        └── lp-pricer

Note: Make sure to commit and push the version changes after running the script.

Contributing

See the CONTRIBUTING guide.