crateman


Namecrateman JSON
Version 1.0.2 PyPI version JSON
download
home_page
SummaryBuild system focused on resolving and building dependencies.
upload_time2023-07-16 09:17:29
maintainer
docs_urlNone
author
requires_python
licenseGPL-3.0
keywords build system dependency package manager development
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## Crateman - Crate Manager.

Is a high level build system focused solely on resolving build dependencies between projects.
In other words, it's like a package manager, but for developers.

## Features
- Simple, TOML-based configuration files support
- Builds dependencies by executing arbitrary shell commands, making it universal across programming languages.
- Finds critical mistakes in dependency graph: circular dependencies, version requirements, e.t.c.
- Every major piece of functionality (such as config parsing, dependency resolving or building) can be used as separate Python module.
- Does builds in parallel whenever possible.

## History

When I was getting into Rust programming, I quickly realised that I am in huge need for a build dependency-only system. Cargo wasn't satisfying for me at all: it is a build-system - package manager - downloader - publisher at the same time, which is weird. It also hadn't needed features for my case (building dependencies only, or executing arbitrary scripts).

Then I tried building Rust project with a Makefile. It was pretty convenient for one freestanding project, very universal, but dependency management was clunky, I would find myself writing a lot of repetitiveness to make my project depend on other.

Then I tried searching for a build system focused only on dependencies. Didn't find one, and decided to implement one myself. Thus, crateman was born. And that's why it's called 'crateman', because Rust calls its packages crates.

Luckily, crateman is not Rust-only. It is universal! It can be used with any language, and any project due to ability to execute arbitrary shell commands.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "crateman",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "build,system,dependency,package,manager,development",
    "author": "",
    "author_email": "lch361 <surperior64@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/ce/6b/cdadf00f1879248bbc9dda8ad9ab9ff3bfe868711868459ea216726f7db5/crateman-1.0.2.tar.gz",
    "platform": null,
    "description": "## Crateman - Crate Manager.\n\nIs a high level build system focused solely on resolving build dependencies between projects.\nIn other words, it's like a package manager, but for developers.\n\n## Features\n- Simple, TOML-based configuration files support\n- Builds dependencies by executing arbitrary shell commands, making it universal across programming languages.\n- Finds critical mistakes in dependency graph: circular dependencies, version requirements, e.t.c.\n- Every major piece of functionality (such as config parsing, dependency resolving or building) can be used as separate Python module.\n- Does builds in parallel whenever possible.\n\n## History\n\nWhen I was getting into Rust programming, I quickly realised that I am in huge need for a build dependency-only system. Cargo wasn't satisfying for me at all: it is a build-system - package manager - downloader - publisher at the same time, which is weird. It also hadn't needed features for my case (building dependencies only, or executing arbitrary scripts).\n\nThen I tried building Rust project with a Makefile. It was pretty convenient for one freestanding project, very universal, but dependency management was clunky, I would find myself writing a lot of repetitiveness to make my project depend on other.\n\nThen I tried searching for a build system focused only on dependencies. Didn't find one, and decided to implement one myself. Thus, crateman was born. And that's why it's called 'crateman', because Rust calls its packages crates.\n\nLuckily, crateman is not Rust-only. It is universal! It can be used with any language, and any project due to ability to execute arbitrary shell commands.\n",
    "bugtrack_url": null,
    "license": "GPL-3.0",
    "summary": "Build system focused on resolving and building dependencies.",
    "version": "1.0.2",
    "project_urls": {
        "Homepage": "https://gitlab.com/lch361/crateman"
    },
    "split_keywords": [
        "build",
        "system",
        "dependency",
        "package",
        "manager",
        "development"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "95fb9a7fc7661de95074f52bd51f9fa807aedf1e8bb9a13501560d415763760c",
                "md5": "1549bbf9d7a939ab4a4296978d2632a4",
                "sha256": "d1f06e5f54b031bd03dde98f61277aa04eca6780866b2068e18902bee46fe753"
            },
            "downloads": -1,
            "filename": "crateman-1.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1549bbf9d7a939ab4a4296978d2632a4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 15357,
            "upload_time": "2023-07-16T09:17:27",
            "upload_time_iso_8601": "2023-07-16T09:17:27.805422Z",
            "url": "https://files.pythonhosted.org/packages/95/fb/9a7fc7661de95074f52bd51f9fa807aedf1e8bb9a13501560d415763760c/crateman-1.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ce6bcdadf00f1879248bbc9dda8ad9ab9ff3bfe868711868459ea216726f7db5",
                "md5": "aacbf0818956c33b1850c21ea9d1f6fc",
                "sha256": "717a297a27b89a860cbb1b3a234c2881aee2cc17228c0dc7a55eb29d23cfa937"
            },
            "downloads": -1,
            "filename": "crateman-1.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "aacbf0818956c33b1850c21ea9d1f6fc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 14160,
            "upload_time": "2023-07-16T09:17:29",
            "upload_time_iso_8601": "2023-07-16T09:17:29.090665Z",
            "url": "https://files.pythonhosted.org/packages/ce/6b/cdadf00f1879248bbc9dda8ad9ab9ff3bfe868711868459ea216726f7db5/crateman-1.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-16 09:17:29",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "lch361",
    "gitlab_project": "crateman",
    "lcname": "crateman"
}
        
Elapsed time: 0.09103s