Skip to main content

Sage: A Unified Project and Package Management System for C/C++ by Version6

Project description

Sage: The Unified C/C++ Orchestrator Version6


Sage by Version6 is the intelligent project and package manager that acts as the "missing piece" for modern C/C++ development. It elegantly unifies and orchestrates essential tools like CMake, Conan, Clang, and Ninja, bringing clarity, consistency, and control to your entire C/C++ workflow.


✨ Why Sage?

Developing in C/C++ can often feel like assembling a complex puzzle, with disparate tools, dependencies, and build systems. Sage steps in to provide the much-needed cohesion, guiding your projects from conception to compilation with wisdom and precision.

  • Unified Workflow: Say goodbye to juggling multiple command-line interfaces and configurations. Sage provides a single, intuitive entry point for all your C/C++ project needs.
  • Intelligent Orchestration: Seamlessly integrates and manages industry-leading tools:
    • CMake: For robust and cross-platform build system generation.
    • Conan: For efficient C/C++ dependency management and package consumption.
    • Clang: For modern, fast, and feature-rich compilation.
    • Ninja: For lightning-fast build execution.
  • "The Missing Piece": Designed to fill the gaps in the C/C++ ecosystem, Sage ensures your projects are structured, dependencies are resolved, and builds are consistent, regardless of complexity or platform.
  • Boost Productivity: Reduce boilerplate, automate repetitive tasks, and focus on writing great C/C++ code, not on battling build systems.
  • Scalable & Maintainable: Facilitates the creation of projects that are easier to manage, scale, and onboard new developers to.

🚀 Getting Started

Getting started with Sage is designed to be straightforward.

Installation

You can install Sage via pip:

pip install cppsage
sage about

Quick Start

Coming Soon ..

📋 Features

Sage aims to provide a comprehensive set of features for modern C/C++ development:

  • Project Definition: Intuitive definition of project structure, targets (executables, libraries), and configurations.
  • Dependency Management: Seamless integration with Conan for declarative dependency resolution and consumption.
  • Build System Generation: Automated generation of CMake build scripts.
  • Toolchain Integration: Easy configuration and management of compilers (Clang), build tools (Ninja), and other development utilities.
  • Testing & Linting: Integrated commands for running tests and enforcing code style (e.g., clang-format, clang-tidy).
  • Platform Agnostic: Designed to work across various operating systems (Linux, macOS, Windows).
  • Extensible: Built with extensibility in mind, allowing for custom commands and integrations.

📚 Documentation

For more in-depth information, detailed usage guides, and advanced configurations, please refer to our official documentation:

🛠️ Project Structure

The officialv6/sage repository contains:

.
├── .vscode/             # VSCode workspace settings and configurations
├── cmake/               # Sage's internal CMake modules
├── packages/            # requirement.txt 
├── res/                 # Resources for Sage itself (e.g., templates)
├── sage/                # Sage's core source code
├── .clang-format        # Code formatting rules for C/C++ source
├── .clang-tidy          # Static analysis rules for C/C++ source
├── .clangd              # Configuration for Clangd (LSP server)
├── .editorconfig        # Universal code style settings
├── .gitignore           # Files and directories to ignore in Git
├── CMakeLists.txt       # CMake build script for Sage itself
├── CMakePresets.json    # CMake presets for Sage's own development
└── README.md            # This README file

🤝 Contributing

We welcome contributions to Sage! Whether it's reporting a bug, suggesting a feature, or submitting a pull request, your help is invaluable.

Please refer to our CONTRIBUTING.md guide for detailed information on how to get involved.

🐞 Reporting Issues

Found a bug or have a feature request? Please open an issue on our GitHub Issues page.

📄 License

Sage is open-source software licensed under the MIT License.


📞 Contact

For questions, support, or general inquiries, please reach out to us:


Made with ❤️ by the team at officialv6.

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

cppsage-0.4.7.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

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

cppsage-0.4.7-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file cppsage-0.4.7.tar.gz.

File metadata

  • Download URL: cppsage-0.4.7.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for cppsage-0.4.7.tar.gz
Algorithm Hash digest
SHA256 042ab4b4a86d0fdc31aeec5327f71661e1ba063c9056d5d45a4ddec177d3a7e4
MD5 e48f51569520f44418349b46c9165836
BLAKE2b-256 c7db7fc029371d9e10397e3ab7f035cde46fb4e36faf9af0986751ac9cf722e5

See more details on using hashes here.

File details

Details for the file cppsage-0.4.7-py3-none-any.whl.

File metadata

  • Download URL: cppsage-0.4.7-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for cppsage-0.4.7-py3-none-any.whl
Algorithm Hash digest
SHA256 bd60dbf05e354e74a32f95df65f2fae1fa932ef3f3fc125a48e1ee8adedaa1fd
MD5 c4f434cf0911f52a5e0590ca597ce1b9
BLAKE2b-256 f146ec1956038e3fcab06ac1fd7c0b534be22447a5886beef2d5b3fe8b0e52aa

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