Metadata-Version: 2.4
Name: pyputil_install
Version: 0.1.0
Summary: Python Package Utilities Installer - Toolchain, Python, and Package Management Suite
Author: PyPUtil Contributors
License: MIT
Project-URL: Homepage, https://github.com/moamen-walid-pyputil/pyputil-install
Project-URL: Repository, https://github.com/moamen-walid-pyputil/pyputil-install
Project-URL: Documentation, https://github.com/moamen-walid-pyputil/pyputil-install
Project-URL: Issues, https://github.com/moamen-walid-pyputil/pyputil-install/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Compilers
Classifier: Topic :: System :: Software Distribution
Classifier: Typing :: Typed
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: aiohttp
Requires-Dist: aiohttp>=3.8.0; extra == "aiohttp"
Provides-Extra: color
Requires-Dist: colorama>=0.4.6; extra == "color"
Provides-Extra: packaging
Requires-Dist: packaging>=23.0; extra == "packaging"
Provides-Extra: all
Requires-Dist: aiohttp>=3.8.0; extra == "all"
Requires-Dist: colorama>=0.4.6; extra == "all"
Requires-Dist: packaging>=23.0; extra == "all"
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
Requires-Dist: black>=23.0; extra == "dev"
Requires-Dist: isort>=5.12; extra == "dev"
Requires-Dist: mypy>=1.0; extra == "dev"
Requires-Dist: ruff>=0.1; extra == "dev"
Requires-Dist: build>=0.10; extra == "dev"
Requires-Dist: twine>=4.0; extra == "dev"
Dynamic: license-file

🚀 PyPUtil Install

Minimal toolkit for managing Python environments, packages, compilers, headers, and pip.


---

✨ Features

Tool	What it does

auto_installer	Auto-installs missing imports
package_installer	Install, upgrade, remove packages
pip_installer	Repair or reinstall pip
stdlib_installer	Install stdlib modules from CPython
python_installer	Manage standalone Python versions
pyheaders_installer	Install Python C headers
compiler_installer	Install GCC, Clang, Zig, Emscripten, NDK



---

📦 Install

pip install pyputil_install

Optional Extras

pip install pyputil_install[aiohttp]
pip install pyputil_install[color]
pip install pyputil_install[packaging]
pip install pyputil_install[all]


---

⚡ Quick CLI Usage

Package Manager

package-installer install requests
package-installer upgrade --all
package-installer uninstall flask
package-installer list --outdated


---

Pip Repair

pip-installer
pip-installer --version 21.3.1
pip-installer --uninstall


---

Stdlib Installer

stdlib-installer install json
stdlib-installer list
stdlib-installer remove json


---

Python Manager

python-installer install 3.11.5
python-installer list
python-installer switch 3.11.5


---

Headers Installer

headers-installer --version 3.11.0


---

🧠 Quick API Usage

Auto Installer

from pyputil_install.auto_installer import auto_install_sync

auto_install_sync()

import requests


---

Package Installer

from pyputil_install.package_installer import PackageInstaller

installer = PackageInstaller("requests")

installer.install()
print(installer.get_version())


---

Pip Installer

from pyputil_install.pip_installer import repair

repair()


---

Stdlib Installer

from pyputil_install.stdlib_installer import install_stdlib

install_stdlib("json")


---

Python Installer

from pyputil_install.python_installer.installer import PythonInstaller

installer = PythonInstaller()

installer.install("3.11.5")
installer.set_default("3.11.5")


---

Compiler Installer

from pyputil_install.compiler_installer import activate

activate("gcc", "14.2.0-2")


---

Supported Python Versions

CPython 3.9+

PyPy (partial support)



---

Storage Paths

Component	Default Path

Toolchains	~/.local/share/toolforge/toolchains/
Python Versions	~/.python_standalone/
Stdlib Cache	~/.cache/stdlib-installer/
Package Cache	~/.cache/packman/



---

Main Environment Variables

Variable	Purpose

TOOLFORGE_HOME	Custom install root
TOOLFORGE_BIN_DIR	Symlink directory
TOOLFORGE_SKIP_CHECKSUM	Disable checksum validation
TOOLFORGE_NO_SYMLINKS	Disable symlink creation
PIP_BREAK_SYSTEM_PACKAGES	Allow externally-managed installs



---

Exit Codes

Code	Meaning

0	Success
1	General error
2	Invalid arguments
3	Download/network error
4	Permission/extraction error
5	Installation failed



---

🏗️ Architecture

URL Layer
    ↓
Installer Layer
    ↓
Toolchain Layer
    ↓
Discovery Layer


---

License

MIT
