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.

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: cpyte_cpm-1.1.3.tar.gz
  • Upload date:
  • Size: 24.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.3.tar.gz
Algorithm Hash digest
SHA256 09a70ab3875da622e19f22ab487094acf07fde8bb84d79c8df1f55a994b6d71d
MD5 15d6649aa18199ef08ced093706b0160
BLAKE2b-256 41ce939112659a92756f33c8f54faa48674dd6b7a6878b2043da9941c810b902

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cpyte_cpm-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 25.8 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 751e4bccbde6ae9ed96c6e099904b26c6850359a2bd6cc8e66aed25f73f2d53e
MD5 2f43439d5de841ea64e5df63e0095198
BLAKE2b-256 6b6fa336aa978ae4644922bda6dcbd7ee297ec1c21be6c5b2cde84c2f0985314

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