A high-performance C++ cross-platform build CLI
Project description
ccgo
A cross-platform C++ build system designed to simplify and accelerate multi-platform development.
Features
- ๐ Fast cross-platform C++ builds for Android, iOS, macOS, Windows, Linux, and OpenHarmony (OHOS)
- ๐๏ธ Kotlin Multiplatform (KMP) support
- ๐ฆ Conan C/C++ package manager integration
- ๐๏ธ Conditional compilation with Features system (similar to Cargo)
- ๐งช Integrated testing with GoogleTest
- ๐ Benchmarking support with Google Benchmark
- ๐ Documentation generation
- ๐ ๏ธ Project scaffolding from templates
- โ Environment dependency checking
- ๐งน Smart build artifact cleaning
Installation
# 1. Install from PyPI via uv (recommended)
pip install uv
uv tool install ccgo
# or via pip
pip install ccgo
# 2. Install via Homebrew
brew tap zhlinh/ccgo
brew install ccgo
# 3. Install from crates.io
cargo install ccgo
Quick Start
# Create a new C++ library project
ccgo new my-awesome-lib
# Navigate to the project directory
cd my-awesome-lib/<project_relative_path>
# Build for Android
ccgo build android
# Run tests
ccgo test
# Build documentation
ccgo doc --open
Commands Reference
1. Project Creation
ccgo new - Create New Project
Create a new library project in a new directory.
ccgo new <project-name> [options]
Options:
--template-url <url>- Custom template repository URL--data <key>=<value>- Template variables (repeatable)--defaults- Use default values for all prompts
Examples:
# Create with interactive prompts
ccgo new my-project
# Create with all defaults
ccgo new my-project --defaults
# Use custom template
ccgo new my-project --template-url https://github.com/user/template.git
ccgo new my-project --template-url /path/to/user/template
# Set template variables
ccgo new my-project --data cpy_project_version=2.0.0
ccgo init - Initialize in Current Directory
Initialize a library project in the current directory.
ccgo init [options]
Options:
--template-url <url>- Custom template repository URL--data <key>=<value>- Template variables (repeatable)--defaults- Use default values for all prompts--force- Skip confirmation prompt
Examples:
ccgo init
ccgo init --defaults --force
2. Build Commands
ccgo build - Build for Platforms
Build your library for specific platforms.
ccgo build <target> [options]
Targets:
android- Build for Android (supports--arch)ios- Build for iOSmacos- Build for macOSwindows- Build for Windowslinux- Build for Linuxohos- Build for OpenHarmony (supports--arch)kmp- Build Kotlin Multiplatform libraryconan- Build Conan C/C++ packageinclude- Build include headers
Options:
--arch <architectures>- Comma-separated architecture list (Android/OHOS only)- Android:
armeabi-v7a,arm64-v8a,x86_64 - OHOS:
armeabi-v7a,arm64-v8a,x86_64
- Android:
--build-as <type>- Library link type:static,shared, orboth(default:both)--toolchain <toolchain>- Windows toolchain:auto,msvc, ormingw(default:auto)--ide-project- Generate IDE project files--docker- Build using Docker (cross-platform builds)-F, --features <features>- Comma-separated list of features to enable--no-default-features- Disable default features--all-features- Enable all available features
Examples:
# Build for Android with specific architectures
ccgo build android --arch armeabi-v7a,arm64-v8a
# Build for OHOS with all architectures
ccgo build ohos --arch armeabi-v7a,arm64-v8a,x86_64
# Build for iOS
ccgo build ios
# Build for macOS
ccgo build macos
# Build for Windows
ccgo build windows
# Build for Windows with specific toolchain
ccgo build windows --toolchain msvc
ccgo build windows --toolchain mingw
# Build for Linux
ccgo build linux
# Build static libraries only
ccgo build linux --build-as static
# Build shared libraries only
ccgo build macos --build-as shared
# Build both static and shared libraries (default)
ccgo build ios --build-as both
# Build Kotlin Multiplatform library
ccgo build kmp
# Build Conan C/C++ package
ccgo build conan
# Generate IDE project for Android
ccgo build android --ide-project
# Cross-platform build using Docker
ccgo build linux --docker
ccgo build windows --docker
# Build with specific features enabled
ccgo build android --features networking,advanced
# Build without default features
ccgo build linux --no-default-features --features minimal
# Build with all features enabled
ccgo build ios --all-features
3. Testing & Benchmarking
ccgo test - Run Tests
Build and run GoogleTest-based unit tests.
ccgo test [options]
Options:
--build-only- Only build tests without running--run-only- Only run tests (assumes already built)--filter <pattern>- GoogleTest filter (e.g., 'MyTest*')--ide-project- Generate IDE project for tests--gtest-args <args>- Additional GoogleTest arguments
Examples:
# Build and run all tests
ccgo test
# Only build tests
ccgo test --build-only
# Run specific tests
ccgo test --filter "MyTest*"
# Run tests multiple times
ccgo test --gtest-args "--gtest_repeat=3"
# Generate IDE project for debugging tests
ccgo test --ide-project
ccgo bench - Run Benchmarks
Build and run Google Benchmark-based performance benchmarks.
ccgo bench [options]
Options:
--build-only- Only build benchmarks without running--run-only- Only run benchmarks (assumes already built)--filter <pattern>- Google Benchmark filter (e.g., 'BM_Sort*')--ide-project- Generate IDE project for benchmarks--benchmark-args <args>- Additional Google Benchmark arguments--format <format>- Output format:console,json,csv(default: console)
Examples:
# Build and run all benchmarks
ccgo bench
# Only build benchmarks
ccgo bench --build-only
# Run specific benchmarks
ccgo bench --filter "BM_Sort*"
# Output results as JSON
ccgo bench --format json
# Output results as CSV
ccgo bench --format csv
4. Documentation
ccgo doc - Build Documentation
Generate project documentation (typically using Doxygen).
ccgo doc [options]
Options:
--open- Open documentation in browser after building--serve- Start local web server to view documentation--port <port>- Port for web server (default: 8000)--clean- Clean build before generating
Examples:
# Build documentation
ccgo doc
# Build and open in browser
ccgo doc --open
# Build and serve on localhost:8000
ccgo doc --serve
# Serve on custom port
ccgo doc --serve --port 3000
# Clean build
ccgo doc --clean
5. Publishing
ccgo publish - Publish Libraries
Publish your library to package repositories.
ccgo publish <target>
Targets:
android- Publish to Maven repositoryohos- Publish to OHPM repositorykmp- Publish KMP library to Maven (local or remote)
Examples:
# Publish Android library to Maven
ccgo publish android
# Publish OHOS library to OHPM
ccgo publish ohos
# Publish Kotlin Multiplatform library
ccgo publish kmp
6. Maintenance Commands
ccgo check - Check Dependencies
Verify that platform-specific development dependencies are installed.
ccgo check [target] [options]
Targets:
all- Check all platforms (default)android- Check Android development environmentios- Check iOS development environmentmacos- Check macOS development environmentwindows- Check Windows development environmentlinux- Check Linux development environmentohos- Check OpenHarmony development environment
Options:
--verbose- Show detailed information
Examples:
# Check all platforms
ccgo check
# Check Android environment
ccgo check android
# Check with verbose output
ccgo check ios --verbose
ccgo clean - Clean Build Artifacts
Remove build artifacts and caches.
ccgo clean [target] [options]
Targets:
all- Clean all platforms (default)android- Clean Android build cachesios- Clean iOS build cachesmacos- Clean macOS build cachesohos- Clean OpenHarmony build cacheskmp- Clean Kotlin Multiplatform build cachesexamples- Clean examples build caches
Options:
--native-only- Clean onlycmake_build/(native CMake builds)--dry-run- Show what would be cleaned without deleting-y, --yes- Skip confirmation prompts
Examples:
# Clean all (with confirmation)
ccgo clean
# Clean only Android
ccgo clean android
# Preview what will be deleted
ccgo clean --dry-run
# Clean all without confirmation
ccgo clean -y
# Clean only native CMake builds
ccgo clean --native-only
7. Help
ccgo help - Show Help
Display comprehensive help information.
ccgo help
# Or get help for specific command
ccgo <command> --help
Environment Variables
Android
ANDROID_HOME- Android SDK locationANDROID_NDK_HOME- Android NDK locationJAVA_HOME- Java Development Kit location
OpenHarmony (OHOS)
OHOS_SDK_HOMEorHOS_SDK_HOME- OHOS Native SDK location
iOS/macOS
- Requires Xcode and command-line tools
Project Structure
Projects created with ccgo follow this structure:
my-project/
โโโ CCGO.toml # CCGO project config
โโโ CMakeLists.txt # Root CMake configuration
โโโ src/ # Source code
โโโ include/ # Public headers
โโโ docs/ # docs files
โโโ tests/ # GoogleTest unit tests
โโโ benches/ # Benchmark tests
โโโ android/ # Android-specific files (Gradle)
โโโ ohos/ # OHOS-specific files (hvigor)
โโโ kmp/ # Kotlin Multiplatform files (Gradle)
SDK Archive Structure
When you run ccgo build <target>, the output is placed in target/{debug|release}/<platform>/ with a unified archive structure.
Archive Naming Convention
{PROJECT}_{PLATFORM}_SDK-{version}[-{suffix}].zip # Main SDK archive
{PROJECT}_{PLATFORM}_SDK-{version}[-{suffix}]-SYMBOLS.zip # Debug symbols archive
Examples:
MYLIB_ANDROID_SDK-1.0.0-release.zipMYLIB_IOS_SDK-1.0.0-beta.5-dirty.zipMYLIB_LINUX_SDK-2.1.0-SYMBOLS.zip
Unified SDK Archive Structure
All platforms follow the same archive structure:
{PROJECT}_{PLATFORM}_SDK-{version}.zip
โโโ lib/{platform}/
โ โโโ static/ # Static libraries (.a, .lib)
โ โ โโโ [{arch}/] # Architecture subdirectory (if multi-arch)
โ โ โโโ lib{name}.a
โ โโโ shared/ # Shared libraries (.so, .dylib, .dll)
โ โโโ [{arch}/]
โ โโโ lib{name}.so
โโโ include/{project}/ # Public header files
โ โโโ **/*.h
โโโ haars/{platform}/ # Platform packages (Android AAR / OHOS HAR)
โ โโโ {PROJECT}_{PLATFORM}_SDK-{version}.aar
โโโ meta/{platform}/ # Metadata files
โโโ build_info.json # Build information
โโโ archive_info.json # Archive file listing
Platform-Specific Build Artifacts
Android
ccgo build android [--arch armeabi-v7a,arm64-v8a,x86_64]
Output: target/{debug|release}/android/
| File | Description |
|---|---|
MYLIB_ANDROID_SDK-{version}.zip |
Main SDK archive |
MYLIB_ANDROID_SDK-{version}-SYMBOLS.zip |
Debug symbols (unstripped .so) |
MYLIB_ANDROID_SDK-{version}.aar |
Android Archive (standalone) |
SDK Contents:
โโโ lib/android/static/{arch}/lib{name}.a
โโโ lib/android/shared/{arch}/lib{name}.so
โโโ include/{project}/**/*.h
โโโ haars/android/*.aar
โโโ meta/android/build_info.json
iOS
ccgo build ios
Output: target/{debug|release}/ios/
| File | Description |
|---|---|
MYLIB_IOS_SDK-{version}.zip |
Main SDK archive |
MYLIB_IOS_SDK-{version}-SYMBOLS.zip |
Debug symbols (dSYM) |
SDK Contents:
โโโ lib/ios/static/{name}.xcframework/
โโโ lib/ios/shared/{name}.xcframework/
โโโ include/{project}/**/*.h
โโโ meta/ios/build_info.json
Architectures: arm64 (device), arm64-simulator, x86_64-simulator
macOS
ccgo build macos
Output: target/{debug|release}/macos/
| File | Description |
|---|---|
MYLIB_MACOS_SDK-{version}.zip |
Main SDK archive |
MYLIB_MACOS_SDK-{version}-SYMBOLS.zip |
Debug symbols (dSYM) |
SDK Contents:
โโโ lib/macos/static/{name}.xcframework/
โโโ lib/macos/shared/{name}.xcframework/
โโโ include/{project}/**/*.h
โโโ meta/macos/build_info.json
Architectures: Universal binary (arm64 + x86_64)
tvOS
ccgo build tvos
Output: target/{debug|release}/tvos/
SDK Contents:
โโโ lib/tvos/static/{name}.xcframework/
โโโ lib/tvos/shared/{name}.xcframework/
โโโ include/{project}/**/*.h
โโโ meta/tvos/build_info.json
Architectures: arm64 (device), arm64-simulator
watchOS
ccgo build watchos
Output: target/{debug|release}/watchos/
SDK Contents:
โโโ lib/watchos/static/{name}.xcframework/
โโโ lib/watchos/shared/{name}.xcframework/
โโโ include/{project}/**/*.h
โโโ meta/watchos/build_info.json
Architectures: arm64_32, armv7k (device), arm64-simulator
Linux
ccgo build linux
Output: target/{debug|release}/linux/
| File | Description |
|---|---|
MYLIB_LINUX_SDK-{version}.zip |
Main SDK archive |
MYLIB_LINUX_SDK-{version}-SYMBOLS.zip |
Debug symbols (unstripped .so) |
SDK Contents:
โโโ lib/linux/static/lib{name}.a
โโโ lib/linux/shared/lib{name}.so
โโโ include/{project}/**/*.h
โโโ meta/linux/build_info.json
Architecture: x86_64
Windows
ccgo build windows [--toolchain auto|msvc|mingw]
Output: target/{debug|release}/windows/
| File | Description |
|---|---|
MYLIB_WINDOWS_SDK-{version}.zip |
Main SDK archive |
SDK Contents (MinGW):
โโโ lib/windows/static/lib{name}.a
โโโ lib/windows/shared/{name}.dll
โโโ lib/windows/shared/lib{name}.dll.a # Import library
โโโ include/{project}/**/*.h
โโโ meta/windows/build_info.json
SDK Contents (MSVC):
โโโ lib/windows/static/{name}.lib
โโโ lib/windows/shared/{name}.dll
โโโ lib/windows/shared/{name}.lib # Import library
โโโ include/{project}/**/*.h
โโโ meta/windows/build_info.json
Architecture: x86_64
OpenHarmony (OHOS)
ccgo build ohos [--arch armeabi-v7a,arm64-v8a,x86_64]
Output: target/{debug|release}/ohos/
| File | Description |
|---|---|
MYLIB_OHOS_SDK-{version}.zip |
Main SDK archive |
MYLIB_OHOS_SDK-{version}-SYMBOLS.zip |
Debug symbols (unstripped .so) |
MYLIB_OHOS_SDK-{version}.har |
Harmony Archive (standalone) |
SDK Contents:
โโโ lib/ohos/static/{arch}/lib{name}.a
โโโ lib/ohos/shared/{arch}/lib{name}.so
โโโ include/{project}/**/*.h
โโโ haars/ohos/*.har
โโโ meta/ohos/build_info.json
Conan
ccgo build conan
Output: target/{debug|release}/conan/
SDK Contents:
โโโ lib/conan/static/lib{name}.a
โโโ lib/conan/shared/lib{name}.so
โโโ include/{project}/**/*.h
โโโ meta/conan/build_info.json
Metadata Files
build_info.json
Contains build metadata:
{
"project": "mylib",
"platform": "android",
"version": "1.0.0",
"link_type": "both",
"build_time": "2024-01-15T10:30:00.123456",
"build_host": "Darwin",
"architectures": ["arm64-v8a", "armeabi-v7a", "x86_64"],
"git_commit": "abc1234",
"git_branch": "main"
}
archive_info.json
Contains file listing with sizes:
{
"archive_metadata": {
"version": "1.0",
"generated_at": "2024-01-15T10:30:00Z",
"archive_name": "MYLIB_ANDROID_SDK-1.0.0.zip",
"archive_size": 1234567
},
"files": [
{"path": "lib/android/shared/arm64-v8a/libmylib.so", "size": 123456}
],
"summary": {
"total_files": 10,
"total_size": 500000,
"library_count": 6,
"platforms": ["android"],
"architectures": ["arm64-v8a", "armeabi-v7a", "x86_64"]
}
}
Excluded Files
The following files are automatically excluded from archives:
CPPLINT.cfg.clang-format.clang-tidy
Features System
CCGO supports a features system similar to Cargo's, enabling conditional compilation and optional dependencies. This allows you to:
- Enable/disable parts of your library at build time
- Make dependencies optional and only include them when needed
- Define feature groups that enable multiple sub-features
Defining Features in CCGO.toml
[package]
name = "mylib"
version = "1.0.0"
[features]
# Default features enabled when none are specified
default = ["std"]
# Feature definitions
std = []
networking = ["http-client"] # Enables optional dependency
advanced = ["networking", "async"] # Enables other features
full = ["networking", "advanced", "logging"]
# Dependency feature syntax
derive = ["serde/derive"] # Enables feature on dependency
[[dependencies]]
name = "http-client"
version = "^1.0"
optional = true # Only included when enabled by a feature
[[dependencies]]
name = "async"
version = "^2.0"
optional = true
[[dependencies]]
name = "serde"
version = "^1.0"
features = ["std"] # Features to enable on this dependency
default_features = false # Disable dependency's default features
Using Features in Builds
# Build with default features
ccgo build android
# Build with specific features
ccgo build android --features networking,advanced
# Build without default features
ccgo build linux --no-default-features
# Build with specific features, no defaults
ccgo build linux --no-default-features --features minimal
# Build with all available features
ccgo build ios --all-features
CMake Integration
Features are passed to CMake as compile definitions with the CCGO_FEATURE_ prefix:
# In your CMakeLists.txt, check for features:
if(DEFINED CCGO_FEATURE_DEFINITIONS)
foreach(def ${CCGO_FEATURE_DEFINITIONS})
target_compile_definitions(${PROJECT_NAME} PRIVATE ${def})
endforeach()
endif()
In your C++ code:
#ifdef CCGO_FEATURE_NETWORKING
#include "networking/http_client.h"
#endif
#ifdef CCGO_FEATURE_ADVANCED
void advanced_function() {
// Advanced implementation
}
#endif
Feature Resolution
Features are resolved transitively:
- Default features are enabled unless
--no-default-featuresis specified - Requested features from
--featuresare added - Transitive features are resolved (e.g.,
fullenablesadvancedwhich enablesnetworking) - Optional dependencies are included only if enabled by an active feature
Example resolution for --features full:
full โ advanced, networking, logging
advanced โ networking, async
networking โ http-client (optional dep)
Result: full, advanced, networking, logging, async, http-client are all enabled.
Workspaces
CCGO supports workspaces for managing multiple related packages in a single repository. Workspaces provide:
- Unified dependency management across packages
- Shared configuration and settings
- Single-command builds for all packages
Creating a Workspace
Create a root CCGO.toml with a [workspace] section:
# Root CCGO.toml (workspace root)
[workspace]
members = [
"core",
"utils",
"examples/*" # Glob patterns supported
]
exclude = ["examples/deprecated"]
resolver = "2" # Dependency resolver version
# Shared dependencies for workspace members
[[workspace.dependencies]]
name = "fmt"
version = "^10.0"
git = "https://github.com/fmtlib/fmt.git"
features = ["std"]
[[workspace.dependencies]]
name = "spdlog"
version = "^1.12"
Workspace Member Configuration
Member packages can inherit dependencies from the workspace:
# core/CCGO.toml
[package]
name = "my-core"
version = "1.0.0"
[[dependencies]]
name = "fmt"
workspace = true # Inherit from workspace
features = ["extra"] # Additional features (merged with workspace)
[[dependencies]]
name = "spdlog"
workspace = true
Workspace Structure
my-workspace/
โโโ CCGO.toml # Workspace root configuration
โโโ core/
โ โโโ CCGO.toml # Member package
โ โโโ CMakeLists.txt
โ โโโ src/
โโโ utils/
โ โโโ CCGO.toml # Member package
โ โโโ CMakeLists.txt
โ โโโ src/
โโโ examples/
โโโ demo1/
โ โโโ CCGO.toml # Member (matched by glob)
โโโ deprecated/
โโโ CCGO.toml # Excluded member
Workspace with Root Package
A workspace root can also be a package itself (virtual workspace):
[workspace]
members = ["crates/*"]
[package]
name = "my-workspace-root"
version = "1.0.0"
Dependency Inheritance
When a member uses workspace = true:
- Version is inherited from workspace if not specified locally
- Git/Path sources are inherited from workspace
- Features are merged (workspace features + local features)
- default_features uses workspace setting if not specified locally
# Workspace defines:
[[workspace.dependencies]]
name = "fmt"
version = "^10.0"
features = ["std"]
# Member uses:
[[dependencies]]
name = "fmt"
workspace = true
features = ["color"] # Results in: ["std", "color"]
Resolver Versions
resolver = "1"- Legacy resolver (default)resolver = "2"- New resolver with better feature unification across packages
Advanced Usage
Using Custom Templates
You can create projects from custom templates:
# From GitHub repository
ccgo new my-project --template-url=https://github.com/user/my-template.git
# From local directory
ccgo new my-project --template-url=/path/to/local/template
CI/CD Integration
The generated build.py script supports CI/CD workflows with environment variables:
CI_IS_RELEASE- Build as release vs betaCI_BUILD_<PLATFORM>- Enable/disable platform builds
Example:
export CI_IS_RELEASE=1
export CI_BUILD_ANDROID=1
export CI_BUILD_IOS=1
python3 build.py
Multi-Architecture Builds
Build for multiple architectures simultaneously:
# Android: build for 32-bit ARM, 64-bit ARM, and x86_64
ccgo build android --arch armeabi-v7a,arm64-v8a,x86_64
# OHOS: build for all supported architectures
ccgo build ohos --arch armeabi-v7a,arm64-v8a,x86_64
Troubleshooting
Common Issues
-
"Command not found" after installation
- Ensure the install directory is in your PATH
- For pip: typically
~/.local/bin(Linux/macOS) or%APPDATA%\Python\Scripts(Windows) - For uv tool: typically
~/.local/bin - For cargo: typically
~/.cargo/bin
-
Android build fails
- Verify
ANDROID_HOME,ANDROID_NDK_HOME, andJAVA_HOMEare set - Run
ccgo check android --verboseto diagnose
- Verify
-
OHOS build fails
- Verify
OHOS_SDK_HOMEorHOS_SDK_HOMEis set - Run
ccgo check ohos --verboseto diagnose
- Verify
-
iOS/macOS build fails
- Ensure Xcode and command-line tools are installed
- Run
xcode-select --installif needed
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
ccgo is available under the MIT license. See the LICENSE file for the full license text.
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ccgo-3.8.0.tar.gz.
File metadata
- Download URL: ccgo-3.8.0.tar.gz
- Upload date:
- Size: 920.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc426a759cb771efe423c56ea107572c10a8596a28c5796eef5f51fa5b5559fa
|
|
| MD5 |
05b1998e3d60f74d0ee6fd0a5c0a97db
|
|
| BLAKE2b-256 |
9e3be6e7a067b90dfd087661a8eaaddbfc64b0396ae20851c7ca180338f059de
|
Provenance
The following attestation bundles were made for ccgo-3.8.0.tar.gz:
Publisher:
release.yml on zhlinh/ccgo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ccgo-3.8.0.tar.gz -
Subject digest:
dc426a759cb771efe423c56ea107572c10a8596a28c5796eef5f51fa5b5559fa - Sigstore transparency entry: 1568657479
- Sigstore integration time:
-
Permalink:
zhlinh/ccgo@e7571f9c1b66ecd02e3101cf2843780ea887b018 -
Branch / Tag:
refs/tags/v3.8.0 - Owner: https://github.com/zhlinh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e7571f9c1b66ecd02e3101cf2843780ea887b018 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ccgo-3.8.0-py3-none-win_arm64.whl.
File metadata
- Download URL: ccgo-3.8.0-py3-none-win_arm64.whl
- Upload date:
- Size: 3.7 MB
- Tags: Python 3, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aefd81c25ab3b93fdafc42dabab7f4382ab457d3eb3398e8d2a122de6bc4bf64
|
|
| MD5 |
095b9cd2dffe7a813c856dbda6ca17a3
|
|
| BLAKE2b-256 |
edc94e2b85abdb125321253ad2d50cd0dfa832cd7e765bb8c997732b9d9fe1c0
|
Provenance
The following attestation bundles were made for ccgo-3.8.0-py3-none-win_arm64.whl:
Publisher:
release.yml on zhlinh/ccgo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ccgo-3.8.0-py3-none-win_arm64.whl -
Subject digest:
aefd81c25ab3b93fdafc42dabab7f4382ab457d3eb3398e8d2a122de6bc4bf64 - Sigstore transparency entry: 1568657541
- Sigstore integration time:
-
Permalink:
zhlinh/ccgo@e7571f9c1b66ecd02e3101cf2843780ea887b018 -
Branch / Tag:
refs/tags/v3.8.0 - Owner: https://github.com/zhlinh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e7571f9c1b66ecd02e3101cf2843780ea887b018 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ccgo-3.8.0-py3-none-win_amd64.whl.
File metadata
- Download URL: ccgo-3.8.0-py3-none-win_amd64.whl
- Upload date:
- Size: 4.0 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b8bec7bb65f0ad1cf9f6a9bee6532b1f0ec83699dc96256dda940272a841490
|
|
| MD5 |
733293f31043465d88eeeff023a03c95
|
|
| BLAKE2b-256 |
5ef411ada1829e7910dd449d8039624d5a5a4f6c9750279801482f2277d525da
|
Provenance
The following attestation bundles were made for ccgo-3.8.0-py3-none-win_amd64.whl:
Publisher:
release.yml on zhlinh/ccgo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ccgo-3.8.0-py3-none-win_amd64.whl -
Subject digest:
4b8bec7bb65f0ad1cf9f6a9bee6532b1f0ec83699dc96256dda940272a841490 - Sigstore transparency entry: 1568657624
- Sigstore integration time:
-
Permalink:
zhlinh/ccgo@e7571f9c1b66ecd02e3101cf2843780ea887b018 -
Branch / Tag:
refs/tags/v3.8.0 - Owner: https://github.com/zhlinh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e7571f9c1b66ecd02e3101cf2843780ea887b018 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ccgo-3.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: ccgo-3.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96fec44b870a1cdaea156c3aa8faff3dd744d401c0bf2fa8cce29588b13c670c
|
|
| MD5 |
0de402081d613ec2d7f2757cc8d9f272
|
|
| BLAKE2b-256 |
d822fd3e878ee5adf024a80049d3bfb38703c84f08ef8e81568d89b167065c2c
|
Provenance
The following attestation bundles were made for ccgo-3.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on zhlinh/ccgo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ccgo-3.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
96fec44b870a1cdaea156c3aa8faff3dd744d401c0bf2fa8cce29588b13c670c - Sigstore transparency entry: 1568657503
- Sigstore integration time:
-
Permalink:
zhlinh/ccgo@e7571f9c1b66ecd02e3101cf2843780ea887b018 -
Branch / Tag:
refs/tags/v3.8.0 - Owner: https://github.com/zhlinh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e7571f9c1b66ecd02e3101cf2843780ea887b018 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ccgo-3.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: ccgo-3.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 4.1 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26dbe37ab0168455b732c1f2346ad9306759564e15fcbac5aa2607cf63f7c57c
|
|
| MD5 |
3fdce842d96625848918ad086baa6e75
|
|
| BLAKE2b-256 |
90348f7c3985f0c3e2b9f75479d88c30c2196c654fc0f5bbad35a1bbc39ef860
|
Provenance
The following attestation bundles were made for ccgo-3.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
release.yml on zhlinh/ccgo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ccgo-3.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
26dbe37ab0168455b732c1f2346ad9306759564e15fcbac5aa2607cf63f7c57c - Sigstore transparency entry: 1568657489
- Sigstore integration time:
-
Permalink:
zhlinh/ccgo@e7571f9c1b66ecd02e3101cf2843780ea887b018 -
Branch / Tag:
refs/tags/v3.8.0 - Owner: https://github.com/zhlinh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e7571f9c1b66ecd02e3101cf2843780ea887b018 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ccgo-3.8.0-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: ccgo-3.8.0-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.6 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57507cc6cc89d06c971ad0a2e4e758f9047700e8912cd2402529c81bf9f649a6
|
|
| MD5 |
e8ce4bb43ed3ac76eb41ec38f6fd236a
|
|
| BLAKE2b-256 |
52ae43813d6b2669e6706c8417e77af9eec44db5f90662b9df47fd6d534b2fd8
|
Provenance
The following attestation bundles were made for ccgo-3.8.0-py3-none-macosx_11_0_arm64.whl:
Publisher:
release.yml on zhlinh/ccgo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ccgo-3.8.0-py3-none-macosx_11_0_arm64.whl -
Subject digest:
57507cc6cc89d06c971ad0a2e4e758f9047700e8912cd2402529c81bf9f649a6 - Sigstore transparency entry: 1568657665
- Sigstore integration time:
-
Permalink:
zhlinh/ccgo@e7571f9c1b66ecd02e3101cf2843780ea887b018 -
Branch / Tag:
refs/tags/v3.8.0 - Owner: https://github.com/zhlinh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e7571f9c1b66ecd02e3101cf2843780ea887b018 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ccgo-3.8.0-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: ccgo-3.8.0-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 4.0 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3268375d694b67744203cc84b61560f8b08e3970700129508cdd19d47f33305a
|
|
| MD5 |
6c27f5fb0510da64119357dfefe7916c
|
|
| BLAKE2b-256 |
16f990759b79bc2f677e96b426d4e86b471b02341d994e18806c0a21871347b1
|
Provenance
The following attestation bundles were made for ccgo-3.8.0-py3-none-macosx_10_12_x86_64.whl:
Publisher:
release.yml on zhlinh/ccgo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ccgo-3.8.0-py3-none-macosx_10_12_x86_64.whl -
Subject digest:
3268375d694b67744203cc84b61560f8b08e3970700129508cdd19d47f33305a - Sigstore transparency entry: 1568657527
- Sigstore integration time:
-
Permalink:
zhlinh/ccgo@e7571f9c1b66ecd02e3101cf2843780ea887b018 -
Branch / Tag:
refs/tags/v3.8.0 - Owner: https://github.com/zhlinh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e7571f9c1b66ecd02e3101cf2843780ea887b018 -
Trigger Event:
push
-
Statement type: