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.8.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.8-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cppsage-0.4.8.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.8.tar.gz
Algorithm Hash digest
SHA256 79a325dbd859bcb785712dc2d5871e6c3281ae8aefa8260d999937a9bae91090
MD5 513c19dbbbcf0e57ce7a5d38c97ec69c
BLAKE2b-256 3aa69c1fbfecb8818a0a6b5220b55552270a219583072ad678886ee73a5ed4e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cppsage-0.4.8-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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 66752f9961308adc02f226ac5d3c6ee27c9d72d6ee7be321fd87c35bd983c092
MD5 55fc4e9baa8f9c53da873abc5519db46
BLAKE2b-256 0fd87c403ceae6eb1a6a6186d51bd3925767923433e309f26f9ecd294775dbf0

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