craft-parts


Namecraft-parts JSON
Version 1.29.0 PyPI version JSON
download
home_pagehttps://github.com/canonical/craft-parts
SummaryCraft parts tooling
upload_time2024-03-21 12:53:43
maintainerNone
docs_urlNone
authorCanonical Ltd.
requires_python>=3.7
licenseGNU General Public License v3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Craft Parts

[![Documentation Status](https://readthedocs.com/projects/canonical-craft-parts/badge/?version=latest)](https://canonical-craft-parts.readthedocs-hosted.com/en/latest/?badge=latest)

Craft-parts provides a mechanism to obtain data from different sources,
process it in various ways, and prepare a filesystem subtree suitable for
deployment. The components used in its project specification are called
*parts*, which can be independently downloaded, built and installed, and
also depend on each other in order to assemble the subtree containing the
final artifacts.


# License

Free software: GNU Lesser General Public License v3


# Documentation

https://canonical-craft-parts.readthedocs-hosted.com/en/latest/

# Contributing

A `Makefile` is provided for easy interaction with the project. To see
all available options run:

```
make help
```

## Development Environment

In order to develop any `apt` related items, the `python-apt` package is needed.
The `apt` extra will require this package in general.

Apt package prerequisites for this development environment on an Ubuntu system can be installed with:

```bash
sudo apt install libapt-pkg-dev intltool fuse-overlayfs
```

On a Debian or Ubuntu system, the appropriate package can be installed by running

```bash
apt source python-apt
pip install ./python-apt_*
```

or by downloading and installing the appropriate source tarball. On Ubuntu these are:

* focal (20.04): https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/python-apt/2.0.1ubuntu0.20.04.1/python-apt_2.0.1ubuntu0.20.04.1.tar.xz
* jammy (22.04): https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/python-apt/2.4.0ubuntu1/python-apt_2.4.0ubuntu1.tar.xz
* lunar (23.04): https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/python-apt/2.5.3ubuntu1/python-apt_2.5.3ubuntu1.tar.xz

## Running tests

To run all tests in the suite run:

```
make tests
```

## Adding new requirements

If a new dependency is added to the project run:

```
make freeze-requirements
```

## Verifying documentation changes

To locally verify documentation changes run:

```
make docs
```

After running, newly generated documentation shall be available at
`./docs/_build/html/`.


## Committing code

Please follow these guidelines when committing code for this project:

- Use a topic with a colon to start the subject
- Separate subject from body with a blank line
- Limit the subject line to 50 characters
- Do not capitalize the subject line
- Do not end the subject line with a period
- Use the imperative mood in the subject line
- Wrap the body at 72 characters
- Use the body to explain what and why (instead of how)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/canonical/craft-parts",
    "name": "craft-parts",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": null,
    "author": "Canonical Ltd.",
    "author_email": "snapcraft@lists.snapcraft.io",
    "download_url": "https://files.pythonhosted.org/packages/af/30/22154fdfc6ec43cdce792855fe7708239ebae2afba922c0159ad7f16f745/craft-parts-1.29.0.tar.gz",
    "platform": null,
    "description": "# Craft Parts\n\n[![Documentation Status](https://readthedocs.com/projects/canonical-craft-parts/badge/?version=latest)](https://canonical-craft-parts.readthedocs-hosted.com/en/latest/?badge=latest)\n\nCraft-parts provides a mechanism to obtain data from different sources,\nprocess it in various ways, and prepare a filesystem subtree suitable for\ndeployment. The components used in its project specification are called\n*parts*, which can be independently downloaded, built and installed, and\nalso depend on each other in order to assemble the subtree containing the\nfinal artifacts.\n\n\n# License\n\nFree software: GNU Lesser General Public License v3\n\n\n# Documentation\n\nhttps://canonical-craft-parts.readthedocs-hosted.com/en/latest/\n\n# Contributing\n\nA `Makefile` is provided for easy interaction with the project. To see\nall available options run:\n\n```\nmake help\n```\n\n## Development Environment\n\nIn order to develop any `apt` related items, the `python-apt` package is needed.\nThe `apt` extra will require this package in general.\n\nApt package prerequisites for this development environment on an Ubuntu system can be installed with:\n\n```bash\nsudo apt install libapt-pkg-dev intltool fuse-overlayfs\n```\n\nOn a Debian or Ubuntu system, the appropriate package can be installed by running\n\n```bash\napt source python-apt\npip install ./python-apt_*\n```\n\nor by downloading and installing the appropriate source tarball. On Ubuntu these are:\n\n* focal (20.04): https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/python-apt/2.0.1ubuntu0.20.04.1/python-apt_2.0.1ubuntu0.20.04.1.tar.xz\n* jammy (22.04): https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/python-apt/2.4.0ubuntu1/python-apt_2.4.0ubuntu1.tar.xz\n* lunar (23.04): https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/python-apt/2.5.3ubuntu1/python-apt_2.5.3ubuntu1.tar.xz\n\n## Running tests\n\nTo run all tests in the suite run:\n\n```\nmake tests\n```\n\n## Adding new requirements\n\nIf a new dependency is added to the project run:\n\n```\nmake freeze-requirements\n```\n\n## Verifying documentation changes\n\nTo locally verify documentation changes run:\n\n```\nmake docs\n```\n\nAfter running, newly generated documentation shall be available at\n`./docs/_build/html/`.\n\n\n## Committing code\n\nPlease follow these guidelines when committing code for this project:\n\n- Use a topic with a colon to start the subject\n- Separate subject from body with a blank line\n- Limit the subject line to 50 characters\n- Do not capitalize the subject line\n- Do not end the subject line with a period\n- Use the imperative mood in the subject line\n- Wrap the body at 72 characters\n- Use the body to explain what and why (instead of how)\n",
    "bugtrack_url": null,
    "license": "GNU General Public License v3",
    "summary": "Craft parts tooling",
    "version": "1.29.0",
    "project_urls": {
        "Homepage": "https://github.com/canonical/craft-parts"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "af3022154fdfc6ec43cdce792855fe7708239ebae2afba922c0159ad7f16f745",
                "md5": "52046521988f068d5e9a1833783932b3",
                "sha256": "09958d5c5802cf48fd9d7d189f5c30bf7a4721d0b668bd14e47bee32edd25a5b"
            },
            "downloads": -1,
            "filename": "craft-parts-1.29.0.tar.gz",
            "has_sig": false,
            "md5_digest": "52046521988f068d5e9a1833783932b3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 325793,
            "upload_time": "2024-03-21T12:53:43",
            "upload_time_iso_8601": "2024-03-21T12:53:43.402271Z",
            "url": "https://files.pythonhosted.org/packages/af/30/22154fdfc6ec43cdce792855fe7708239ebae2afba922c0159ad7f16f745/craft-parts-1.29.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-21 12:53:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "canonical",
    "github_project": "craft-parts",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "craft-parts"
}
        
Elapsed time: 0.22380s