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.3.tar.gz (16.8 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.3-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nanci-0.1.3.tar.gz
  • Upload date:
  • Size: 16.8 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.3.tar.gz
Algorithm Hash digest
SHA256 6504fdbc4b66edc4ea78b30eb4ae34d05870bd4541ee64d608084b802098fd39
MD5 4097454efb4f1b62b570c0b3bf5ca7b5
BLAKE2b-256 51122efe2b8116eba9e7f163b72b603fc3d4066cb8eaa81f3b260f78710cef80

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nanci-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 23.0 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5f3cd25279b8f9efca75364178f1bc9a44e62a7a9d73393843e84594ab32331a
MD5 30d7be573263fbb6917b5da925ea898c
BLAKE2b-256 8774acd2df2dfc2ea243352adca1a99073d2ddbbdf820c11ee38ca626b80dda5

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