<!--
SPDX-License-Identifier: MPL-2.0
SPDX-FileCopyrightText: 2023 igo95862
-->
[![Documentation Status](https://readthedocs.org/projects/python-lxns/badge/?version=latest)](https://python-lxns.readthedocs.io/en/latest/?badge=latest)
![PyPI - Version](https://img.shields.io/pypi/v/lxns)
# Python-lxns
## Python library to control Linux kernel namespaces
Implemented using C extension module.
Current features implemented:
* Linux namespaces class abstractions with automatic resource control.
* Opening existing namespaces using PIDs.
* Opening parent user namespaces. (usually unaccessible from `/proc`)
* Switching to a namespace.
* Unsharing namespaces either from class method or function with boolean flags.
* Automatic file descriptor resource control using `with`.
* Getting and setting the max number of namespaces.
* Mount utilities using new file descriptor based API.
* Create bind mounts.
## [Documentation](https://python-lxns.readthedocs.io/en/latest/)
Also see [`examples/`](examples/) folder for code examples.
## Requirements
* Python version 3.7 or higher
### [PyPI wheels](https://pypi.org/project/lxns/)
PyPI wheels are completely statically linked and do not depend on any library.
Available architectures: `x86_64`, `i686`, `aarch64`, `armv7l`
### Compiling source package
* Meson build system
* Python headers
* C compiler
* Linux kernel headers
## License
Python-lxns is licensed under Mozilla Public License Version 2.0.
Examples in `examples/` folder are licensed under MIT license.
Raw data
{
"_id": null,
"home_page": null,
"name": "lxns",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "linux namespace namespaces mount sandbox containers",
"author": "igo95862",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/ef/b9/e9847504f519b60e0b60234036d03f5b5deaa12e33a8c3e1cde8b80b620e/lxns-0.1.0.tar.gz",
"platform": null,
"description": "<!--\nSPDX-License-Identifier: MPL-2.0\nSPDX-FileCopyrightText: 2023 igo95862\n-->\n\n[![Documentation Status](https://readthedocs.org/projects/python-lxns/badge/?version=latest)](https://python-lxns.readthedocs.io/en/latest/?badge=latest)\n![PyPI - Version](https://img.shields.io/pypi/v/lxns)\n\n# Python-lxns\n\n## Python library to control Linux kernel namespaces\n\nImplemented using C extension module.\n\nCurrent features implemented:\n\n* Linux namespaces class abstractions with automatic resource control.\n * Opening existing namespaces using PIDs.\n * Opening parent user namespaces. (usually unaccessible from `/proc`)\n * Switching to a namespace.\n * Unsharing namespaces either from class method or function with boolean flags.\n * Automatic file descriptor resource control using `with`.\n * Getting and setting the max number of namespaces.\n* Mount utilities using new file descriptor based API.\n * Create bind mounts.\n\n## [Documentation](https://python-lxns.readthedocs.io/en/latest/)\n\nAlso see [`examples/`](examples/) folder for code examples.\n\n## Requirements\n\n* Python version 3.7 or higher\n\n### [PyPI wheels](https://pypi.org/project/lxns/)\n\nPyPI wheels are completely statically linked and do not depend on any library.\n\nAvailable architectures: `x86_64`, `i686`, `aarch64`, `armv7l`\n\n### Compiling source package\n\n* Meson build system\n* Python headers\n* C compiler\n* Linux kernel headers\n\n## License\n\nPython-lxns is licensed under Mozilla Public License Version 2.0.\n\nExamples in `examples/` folder are licensed under MIT license.\n",
"bugtrack_url": null,
"license": "MPL-2.0",
"summary": "Python library to interact with Linux kernel namespaces.",
"version": "0.1.0",
"project_urls": {
"Changelog": "https://github.com/igo95862/python-lxns/blob/master/CHANGELOG.md",
"Documentation": "https://python-lxns.readthedocs.io/en/latest/",
"Homepage": "https://github.com/igo95862/python-lxns",
"Issues": "https://github.com/igo95862/python-lxns/issues",
"Repository": "https://github.com/igo95862/python-lxns.git"
},
"split_keywords": [
"linux",
"namespace",
"namespaces",
"mount",
"sandbox",
"containers"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5929f851120c53136d287c338328d4e17b21fc1f093377ecbba62d4576444d98",
"md5": "888186c7083f01017de0b357ce2584bd",
"sha256": "9320ab93b3170fb721a5416193ea74254e7e2263b13a59239a0f89e3516bbbf4"
},
"downloads": -1,
"filename": "lxns-0.1.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "888186c7083f01017de0b357ce2584bd",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 18186,
"upload_time": "2024-04-20T15:49:11",
"upload_time_iso_8601": "2024-04-20T15:49:11.057467Z",
"url": "https://files.pythonhosted.org/packages/59/29/f851120c53136d287c338328d4e17b21fc1f093377ecbba62d4576444d98/lxns-0.1.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5e79294545187d93789c83b3ee96beb38ed34ed9f8ec36993a9476bf43500538",
"md5": "a5bdfdc7d1dab188a9007595649c4d5a",
"sha256": "ffedadc2ca23666470794c75feaeb86fe19eaffee7924a6bd9f43b4f54c7cb33"
},
"downloads": -1,
"filename": "lxns-0.1.0-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"has_sig": false,
"md5_digest": "a5bdfdc7d1dab188a9007595649c4d5a",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 19328,
"upload_time": "2024-04-20T15:49:12",
"upload_time_iso_8601": "2024-04-20T15:49:12.792478Z",
"url": "https://files.pythonhosted.org/packages/5e/79/294545187d93789c83b3ee96beb38ed34ed9f8ec36993a9476bf43500538/lxns-0.1.0-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e059ffc4175420df4d8662eca1cf15825e4d447d3ac0fe8533529a4a888c2226",
"md5": "928c82d3bfae53f56b1e55a7bc447e8f",
"sha256": "b4affaa3513d57aafaf234b79972e4f41fbb7a8e56ff24120c331f71282e7300"
},
"downloads": -1,
"filename": "lxns-0.1.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl",
"has_sig": false,
"md5_digest": "928c82d3bfae53f56b1e55a7bc447e8f",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 18381,
"upload_time": "2024-04-20T15:49:07",
"upload_time_iso_8601": "2024-04-20T15:49:07.997443Z",
"url": "https://files.pythonhosted.org/packages/e0/59/ffc4175420df4d8662eca1cf15825e4d447d3ac0fe8533529a4a888c2226/lxns-0.1.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6885dfb65a19c947c2f91c8d2e412939fea6cb0e296fa7997d4dff847d802530",
"md5": "ab6159610ced269197e8ecb5ee847925",
"sha256": "df127aa607d84754cfb9bb705c6efd89b14e890afee97f952d2b4c9fb99078bc"
},
"downloads": -1,
"filename": "lxns-0.1.0-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
"has_sig": false,
"md5_digest": "ab6159610ced269197e8ecb5ee847925",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 17017,
"upload_time": "2024-04-20T15:49:09",
"upload_time_iso_8601": "2024-04-20T15:49:09.818438Z",
"url": "https://files.pythonhosted.org/packages/68/85/dfb65a19c947c2f91c8d2e412939fea6cb0e296fa7997d4dff847d802530/lxns-0.1.0-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "efb9e9847504f519b60e0b60234036d03f5b5deaa12e33a8c3e1cde8b80b620e",
"md5": "bb128ab500c152cd1315849ebf43cbd9",
"sha256": "7913255a5e8146e9950ee8bcd60b25ac62c9ed289eecd3b394d2aa60e09003b2"
},
"downloads": -1,
"filename": "lxns-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "bb128ab500c152cd1315849ebf43cbd9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 22178,
"upload_time": "2024-04-20T15:49:14",
"upload_time_iso_8601": "2024-04-20T15:49:14.484238Z",
"url": "https://files.pythonhosted.org/packages/ef/b9/e9847504f519b60e0b60234036d03f5b5deaa12e33a8c3e1cde8b80b620e/lxns-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-20 15:49:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "igo95862",
"github_project": "python-lxns",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "lxns"
}