https://github.com/kivanc57/package_manager
This project is a modular Go/Python/PowerShell-based framework for efficient package management within an artifactory. It supports filtering, excluding, downloading, and uploading packages. The Downloader handles retrieval and extraction, while the Package Manager processes JSON lists and checks package availability in Chocolatey repositories.
https://github.com/kivanc57/package_manager
artifactory go golang json nuget-package nupkg package-manager powershell powershell-script python repository
Last synced: 2 days ago
JSON representation
This project is a modular Go/Python/PowerShell-based framework for efficient package management within an artifactory. It supports filtering, excluding, downloading, and uploading packages. The Downloader handles retrieval and extraction, while the Package Manager processes JSON lists and checks package availability in Chocolatey repositories.
- Host: GitHub
- URL: https://github.com/kivanc57/package_manager
- Owner: kivanc57
- License: gpl-3.0
- Created: 2025-07-12T10:43:30.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-07-12T10:48:07.000Z (3 months ago)
- Last Synced: 2025-07-12T12:35:48.550Z (3 months ago)
- Topics: artifactory, go, golang, json, nuget-package, nupkg, package-manager, powershell, powershell-script, python, repository
- Language: Go
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Package Manager
## Overview
This project provides a modular Go/Python and Powershell based framework for a very efficient package manager, where the user can filter, exclude, download and upload necessary packages within a given artifactory.
- **Downloader**: Downloads files from specified URLs, manages extraction, and processes packages.
- **Package Manager**: Processes JSON package lists, checks availability in Chocolatey repositories, and logs missing packages.## Installation
Clone this repository and navigate to the project directory:
```bash
git clone https://github.com/your-username/your-project.git
cd your-project
```Initialize Go modules:
```bash
go mod tidy
```## Environment Configuration
Create a `.env` file at the root with necessary environment variables:
```env
LINKS=https://example.com/download?token=12345
REPOSITORIES=https://repo.example.com
EXCLUDED_PACKAGES=package1,package2
EXTENSIONS=.zip,.exe,.nupkg
```## Running the Scripts
### Downloader
To execute the downloader tool:
```bash
go run cmd/downloader/main.go
```### Package Manager
To execute the package manager:
```bash
go run cmd/packagemanager/main.go
```## Python Modular Downloader Script
This Python script downloads and extracts package files from given URLs and processes them in a modular way.
### Usage
Ensure you have the `.env` file with `LINKS` variable set, and the input file `data/final_list.txt` ready.
Run the script with:
```bash
python main.py
```### Requirements
- Python 3.x
- `requests`
- `python-dotenv`Install dependencies with:
```bash
pip install requests python-dotenv
```
---## Output
Results will be stored in the `output` directory. Ensure it exists or will be created automatically by the scripts.
## Dependencies
- [godotenv](https://github.com/joho/godotenv) for loading `.env` variables
Install dependencies using:
```bash
go get github.com/joho/godotenv
```