mousebender


Namemousebender JSON
Version 2023.2 PyPI version JSON
download
home_page
SummaryA package for implementing various Python packaging standards.
upload_time2023-10-27 23:39:16
maintainer
docs_urlNone
author
requires_python>=3.8
license
keywords packaging simple repository api pep 503 pep 592 pep 658 pep 691
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # mousebender

Produce/consume dependency lock files for Python

## Important Links

- [PyPI](https://pypi.org/project/mousebender/)
- [Documentation](https://mousebender.readthedocs.io/)

## Goals for this project

This project hopes to (eventually) provide a way to create reproducible installations for a virtual environment from a lock file -- or a version-pinned dependency list if "lock file" means `flock` to you -- derived from a `pyproject.toml` file. That will require defining a lock file format for wheel files as well as being able to perform installations based on that lock file. The ultimate goal is for that lock file format to become a standard (see [PEP 665](https://peps.python.org/pep-0665/) which was an initial attempt at this).

Or put another way, this project wants to work towards a standard for what [pip-tools](https://pypi.org/project/pip-tools/) and [pip requirements files](https://pip.pypa.io/en/stable/reference/requirements-file-format/)

To achieve this goal, this project will need to be able to:

- [x] Know what wheel files are available on an index server ([`mousebender.simple`](https://mousebender.readthedocs.io/en/latest/simple.html))
- [x] Read the metadata from a wheel file (in [`packaging.metadata`](https://packaging.pypa.io/en/stable/metadata.html))
- [ ] Resolve what wheel files are required to meet the requirements specified in `pyproject.toml`
- [ ] Produce a lock file of wheel files for a platform
- [ ] Consume a lock file for the platform to install the specified wheel files


Where does the name come from?
==============================
The customer from [Monty Python's cheese shop sketch](https://en.wikipedia.org/wiki/Cheese_Shop_sketch) is named "Mr. Mousebender". And in case you didn't know, the original name of [PyPI](https://pypi.org) was the Cheeseshop after the Monty Python sketch (see [PyPI's 404 page](https://pypi.org/404.html) for a link to the sketch).


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "mousebender",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "packaging,Simple Repository API,PEP 503,PEP 592,PEP 658,PEP 691",
    "author": "",
    "author_email": "Brett Cannon <brett@python.org>, Derek Keeler <derek@suchcool.ca>",
    "download_url": "https://files.pythonhosted.org/packages/f7/09/7b69081839750d70bdc858e949ca2fc0361973ac4950d0883b4a0198c417/mousebender-2023.2.tar.gz",
    "platform": null,
    "description": "# mousebender\n\nProduce/consume dependency lock files for Python\n\n## Important Links\n\n- [PyPI](https://pypi.org/project/mousebender/)\n- [Documentation](https://mousebender.readthedocs.io/)\n\n## Goals for this project\n\nThis project hopes to (eventually) provide a way to create reproducible installations for a virtual environment from a lock file -- or a version-pinned dependency list if \"lock file\" means `flock` to you -- derived from a `pyproject.toml` file. That will require defining a lock file format for wheel files as well as being able to perform installations based on that lock file. The ultimate goal is for that lock file format to become a standard (see [PEP 665](https://peps.python.org/pep-0665/) which was an initial attempt at this).\n\nOr put another way, this project wants to work towards a standard for what [pip-tools](https://pypi.org/project/pip-tools/) and [pip requirements files](https://pip.pypa.io/en/stable/reference/requirements-file-format/)\n\nTo achieve this goal, this project will need to be able to:\n\n- [x] Know what wheel files are available on an index server ([`mousebender.simple`](https://mousebender.readthedocs.io/en/latest/simple.html))\n- [x] Read the metadata from a wheel file (in [`packaging.metadata`](https://packaging.pypa.io/en/stable/metadata.html))\n- [ ] Resolve what wheel files are required to meet the requirements specified in `pyproject.toml`\n- [ ] Produce a lock file of wheel files for a platform\n- [ ] Consume a lock file for the platform to install the specified wheel files\n\n\nWhere does the name come from?\n==============================\nThe customer from [Monty Python's cheese shop sketch](https://en.wikipedia.org/wiki/Cheese_Shop_sketch) is named \"Mr. Mousebender\". And in case you didn't know, the original name of [PyPI](https://pypi.org) was the Cheeseshop after the Monty Python sketch (see [PyPI's 404 page](https://pypi.org/404.html) for a link to the sketch).\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A package for implementing various Python packaging standards.",
    "version": "2023.2",
    "project_urls": {
        "Changelog": "https://github.com/brettcannon/mousebender/releases",
        "Documentation": "https://mousebender.readthedocs.io/",
        "Issues": "https://github.com/brettcannon/mousebender/issues",
        "Repository": "https://github.com/brettcannon/mousebender"
    },
    "split_keywords": [
        "packaging",
        "simple repository api",
        "pep 503",
        "pep 592",
        "pep 658",
        "pep 691"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dbc1b0f7859dc59d527cbcade44f81453158f8b782cbeeb8acb5b5b27f1fbdfc",
                "md5": "49249b125a9e1b385faa6ed3933fad8a",
                "sha256": "b14d382f26bad190f9fa6f11716f0c3f16588517739554db90102ad0cf156ac1"
            },
            "downloads": -1,
            "filename": "mousebender-2023.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "49249b125a9e1b385faa6ed3933fad8a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 7648,
            "upload_time": "2023-10-27T23:39:13",
            "upload_time_iso_8601": "2023-10-27T23:39:13.623839Z",
            "url": "https://files.pythonhosted.org/packages/db/c1/b0f7859dc59d527cbcade44f81453158f8b782cbeeb8acb5b5b27f1fbdfc/mousebender-2023.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f7097b69081839750d70bdc858e949ca2fc0361973ac4950d0883b4a0198c417",
                "md5": "407d34d77416dbd0bab10ddfe9155f02",
                "sha256": "b26286a3e214503d954912920725018febe04676050a6d06c3ed98ccfc6fd88f"
            },
            "downloads": -1,
            "filename": "mousebender-2023.2.tar.gz",
            "has_sig": false,
            "md5_digest": "407d34d77416dbd0bab10ddfe9155f02",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 4858085,
            "upload_time": "2023-10-27T23:39:16",
            "upload_time_iso_8601": "2023-10-27T23:39:16.441034Z",
            "url": "https://files.pythonhosted.org/packages/f7/09/7b69081839750d70bdc858e949ca2fc0361973ac4950d0883b4a0198c417/mousebender-2023.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-27 23:39:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "brettcannon",
    "github_project": "mousebender",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "mousebender"
}
        
Elapsed time: 0.14155s