feat: function to install single package.
This commit is contained in:
parent
09a37ae628
commit
9680e33730
3 changed files with 18 additions and 1 deletions
|
@ -1,5 +1,11 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 0.7.0: Added Function to Install Packages
|
||||||
|
- Introduced the `install_package` function, allowing packages to be installed directly through the app.
|
||||||
|
- Useful for optional dependencies that need to be installed separately. This enables installation via the UI.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 0.6.x
|
## 0.6.x
|
||||||
### 0.6.1: Classifier
|
### 0.6.1: Classifier
|
||||||
- Added Classifier for pypi
|
- Added Classifier for pypi
|
||||||
|
|
|
@ -11,7 +11,7 @@ readme = "README.md"
|
||||||
requires-python = ">=3.8"
|
requires-python = ">=3.8"
|
||||||
dependencies = ["requests", "packaging"]
|
dependencies = ["requests", "packaging"]
|
||||||
classifiers = [
|
classifiers = [
|
||||||
"Development Status :: 4 - Beta",
|
"Development Status :: 3 - Alpha",
|
||||||
"Programming Language :: Python :: 3",
|
"Programming Language :: Python :: 3",
|
||||||
"Topic :: Software Development :: Libraries :: Python Modules",
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||||
"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
|
"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
|
||||||
|
|
|
@ -146,3 +146,14 @@ class PyPiUpdater:
|
||||||
"""Write data to JSON log file."""
|
"""Write data to JSON log file."""
|
||||||
with open(self.log_path, "w") as f:
|
with open(self.log_path, "w") as f:
|
||||||
json.dump(data, f, indent=4)
|
json.dump(data, f, indent=4)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def install_package(package_name):
|
||||||
|
"""Attempts to install a package via pip."""
|
||||||
|
try:
|
||||||
|
subprocess.run([sys.executable, "-m", "pip", "install", package_name], check = True)
|
||||||
|
print("Successfull")
|
||||||
|
return [True, f"{package_name} installed successfully!"]
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
print("Failed")
|
||||||
|
return [False, f"Failed to install {package_name}:\n{e.stderr}"]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue