Skip to main content

CPM — Cpyte Package Manager

A compiler-pipeline dependency resolver and installer for the Cpyte programming language.

import @std.json
          ↓
Resolve → Lower → Optimize → Execute

Install

pip install cpyte-cpm

Note: CPM uses the Cpyte package registry at https://cypackage.5gnew.io.vn/ as the default package source for Cpyte packages. The default registry is configured in pyproject.toml.

Quick Start

cpm init                        # create cpytoml
cpm add @std/json@^2.0          # add a dependency
cpm install                     # install all from manifest

Commands

Command Description
cpm init Initialize a new project (cpytoml)
cpm add <pkg> Add packages to manifest + install
cpm remove <pkg> Remove packages + uninstall
cpm install Install all dependencies from manifest
cpm install <pkg> Install specific packages
cpm update Re-resolve and update all packages
cpm update <pkg> Re-resolve specific packages
cpm build Build the project
cpm run <script> Run a named script

Global Flags

-v, --verbose        Verbose output
-q, --quiet          Suppress output
-y, --yes            Auto-confirm prompts
--offline            Offline mode (skip network)
--no-cache           Disable cache
--config <path>      Custom config / repo URL
--target <platform>  Target platform (e.g. linux/x86_64)
--llvm-version <V>   LLVM version for prebuilt packages

Manifest (cpytoml)

[cpm]
name = "my-app"
version = "1.0"
prebuilt = false
llvm_version = "18.1.0"

[cpm.target]
os = "linux"
arch = "x86_64"
features = ["gui", "ssl"]

[cpm.dependencies]
"@std/json" = "^2.0"
"@std/http" = "1.0"
"package_a" = "latest"

Claims System

Packages declare platform support; CPM filters based on your target.

Package metadata (registry):

{
  "name": "win32-api",
  "claims": { "os": ["windows"], "arch": ["x86_64"] }
}

Resolution:

Target win32-api (windows) posix-api (linux) @std/json (any)
linux/x86_64 skip install install
windows/x86_64 install skip install

Auto-detects from current platform when no target is specified.

Prebuilt Mode

When the registry serves precompiled LLVM IR:

[cpm]
prebuilt = true
llvm_version = "18.1.0"

CPM fetches .ll artifacts from metadata/prebuilt/... and skips source packages with incompatible LLVM versions (major version must match).

Lockfile (cpm.lock)

Auto-generated. Pins exact versions for reproducible builds.

[[package]]
name = "@std/json"
version = "2.0.3"
resolved = "https://repo.example.com/group/std/json/2.0.3.tar.gz"
checksum = "sha256:abc123..."
dependencies = ["@std/encoding@1.2.0"]
llvm_version = "18.1.0"
cpyte_version = "0.5.0"

Directory Layout

~/.cpm/
├── cache/<name>/<version>/     # downloaded archives
└── modules/<name>/<version>/   # extracted packages

License

MIT

Download files

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

Source Distribution

cpyte_cpm-1.1.8.tar.gz (25.5 kB view details)

Uploaded Source

Built Distribution

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

cpyte_cpm-1.1.8-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

Details for the file cpyte_cpm-1.1.8.tar.gz.

File metadata

  • Download URL: cpyte_cpm-1.1.8.tar.gz
  • Upload date:
  • Size: 25.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for cpyte_cpm-1.1.8.tar.gz
Algorithm Hash digest
SHA256 c2bae015542df3e0c995f572d58c633fdbd6fa5fc0e63ff70855fa5023faaf78
MD5 79c476c6452c9c58a5e3b400de578aba
BLAKE2b-256 4cda4208638b65a35196c78f300b5580e1ab84c4f3945ed1fc9f353587642ea9

See more details on using hashes here.

File details

Details for the file cpyte_cpm-1.1.8-py3-none-any.whl.

File metadata

  • Download URL: cpyte_cpm-1.1.8-py3-none-any.whl
  • Upload date:
  • Size: 26.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for cpyte_cpm-1.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 845c0044cf7ac3278071a2f22b39fd99d5e9811689bed02052b46ba25b9ccd46
MD5 e2171b2e133a7fb61f2fdb238562633a
BLAKE2b-256 00100d240c9e109347292bf3c25e6cfe5bf96b50368feb84ceb085ba49c88690

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