Skip to main content

The Python library that powers Nanci CI pipelines

Project description

Nanci

nanci

The Python library that powers Nanci CI pipelines.

nanci.dev · Docs · Quickstart


nanci is the engine behind Nanci — a CI system where pipelines are plain Python files. Install this package to run Nanci pipelines locally or to build tooling on top of the same runtime the cloud uses.

from nanci import job, ci
import asyncio

@job(image="python:3.12-slim")
async def test():
    await ci.upload("src/", "/app/src")
    await ci.upload("tests/", "/app/tests")
    "cd /app && pip install -e . -q && pytest"

asyncio.run(test())

Each @job-decorated function runs inside an isolated Docker container. String literals in the function body are shell commands. Parallelism is plain asyncio.gather.

Quickstart

pip install nanci
# nanci_ci.py
from nanci import job
import asyncio

@job
async def hello():
    "echo Hello, world!"

asyncio.run(hello())
python nanci_ci.py

Full documentation at nanci.dev.

Project details


Download files

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

Source Distribution

nanci-0.1.5.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

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

nanci-0.1.5-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

Details for the file nanci-0.1.5.tar.gz.

File metadata

  • Download URL: nanci-0.1.5.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nanci-0.1.5.tar.gz
Algorithm Hash digest
SHA256 f321b119fe3c4a5021813501fbe67f99a34f3274f70ea802a88e9ef6a79348b3
MD5 8d25e701dff9d9507319216f4acc080a
BLAKE2b-256 7ab5592787b9f6bbcfd0463a0eb3cc1d726677c189fee97a2b53e8c17bca8806

See more details on using hashes here.

File details

Details for the file nanci-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: nanci-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nanci-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0e09e4f5f54c2a9037e8ca79ca29dc86f04cdb63745cb1c7360e23c3b648e8e1
MD5 173cc7bf33ff33ca6c0aac103bfadc46
BLAKE2b-256 d71907ef4b24b4b7e0fb34318bb23afbc85815692680d0180ada5bcd87b42c30

See more details on using hashes here.

Supported by

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