Metadata-Version: 2.4
Name: pyputil_install
Version: 0.2.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

<<<<<<< HEAD
## 🚀 PyPUtil Install
=======
🚀 PyPUtil Install
>>>>>>> 1e60f88 (Initial upload)

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


---

<<<<<<< HEAD
## ✨ Features
=======
✨ Features
>>>>>>> 1e60f88 (Initial upload)

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



---

<<<<<<< HEAD
## 📦 Install

```bash
pip install pyputil_install
```

### Optional Extras
=======
📦 Install

pip install pyputil_install

Optional Extras
>>>>>>> 1e60f88 (Initial upload)

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


---

<<<<<<< HEAD
## ⚡ Quick CLI Usage

### Package Manager
=======
⚡ Quick CLI Usage

Package Manager
>>>>>>> 1e60f88 (Initial upload)

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


---

<<<<<<< HEAD
### Pip Repair
=======
Pip Repair
>>>>>>> 1e60f88 (Initial upload)

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


---

<<<<<<< HEAD
### Stdlib Installer
=======
Stdlib Installer
>>>>>>> 1e60f88 (Initial upload)

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


---

<<<<<<< HEAD
### Python Manager
=======
Python Manager
>>>>>>> 1e60f88 (Initial upload)

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


---

<<<<<<< HEAD
### Headers Installer
=======
Headers Installer
>>>>>>> 1e60f88 (Initial upload)

headers-installer --version 3.11.0


---

<<<<<<< HEAD
## 🧠 Quick API Usage

### Auto Installer
=======
🧠 Quick API Usage

Auto Installer
>>>>>>> 1e60f88 (Initial upload)

from pyputil_install.auto_installer import auto_install_sync

auto_install_sync()

import requests


---

<<<<<<< HEAD
### Package Installer
=======
Package Installer
>>>>>>> 1e60f88 (Initial upload)

from pyputil_install.package_installer import PackageInstaller

installer = PackageInstaller("requests")

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


---

<<<<<<< HEAD
### Pip Installer
=======
Pip Installer
>>>>>>> 1e60f88 (Initial upload)

from pyputil_install.pip_installer import repair

repair()


---

<<<<<<< HEAD
### Stdlib Installer
=======
Stdlib Installer
>>>>>>> 1e60f88 (Initial upload)

from pyputil_install.stdlib_installer import install_stdlib

install_stdlib("json")


---

<<<<<<< HEAD
### Python Installer
=======
Python Installer
>>>>>>> 1e60f88 (Initial upload)

from pyputil_install.python_installer.installer import PythonInstaller

installer = PythonInstaller()

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


---

<<<<<<< HEAD
### Compiler Installer
=======
Compiler Installer
>>>>>>> 1e60f88 (Initial upload)

from pyputil_install.compiler_installer import activate

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


---

<<<<<<< HEAD
### Supported Python Versions
=======
Supported Python Versions
>>>>>>> 1e60f88 (Initial upload)

CPython 3.9+

PyPy (partial support)



---

<<<<<<< HEAD
### Storage Paths
=======
Storage Paths
>>>>>>> 1e60f88 (Initial upload)

Component	Default Path

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



---

<<<<<<< HEAD
## Main Environment Variables

### Variable	Purpose
=======
Main Environment Variables

Variable	Purpose
>>>>>>> 1e60f88 (Initial upload)

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



---

<<<<<<< HEAD
## Exit Codes

### Code	Meaning
=======
Exit Codes

Code	Meaning
>>>>>>> 1e60f88 (Initial upload)

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



---

<<<<<<< HEAD
## 🏗️ Architecture
=======
🏗️ Architecture
>>>>>>> 1e60f88 (Initial upload)

URL Layer
    ↓
Installer Layer
    ↓
Toolchain Layer
    ↓
Discovery Layer


---

<<<<<<< HEAD
## License

MIT
=======
License

MIT
>>>>>>> 1e60f88 (Initial upload)
