Skip to content

Commit 12c6203

Browse files
committed
v1.0 Release: Final stable build for production
1 parent 4ca064f commit 12c6203

5 files changed

Lines changed: 473 additions & 64 deletions

File tree

.env.example

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
REDIS_HOST
2+
REDIS_PORT
3+
REDIS_PASSWORD

README.md

Lines changed: 61 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,95 @@
1-
# Prizama
1+
# Prizama's Package Manager
22

3-
## Introduction
3+
## Overview
44

5-
**Prizama** is a Python command-line application that helps you manage your Python package dependencies with ease. It allows you to log in, sign up, upload your local pip package list to Redis, and download packages from Redis. Below are the features and instructions for using this application.
5+
This project includes a package manager with two versions:
6+
1. **GUI Version** - A graphical user interface (GUI) for managing packages.
7+
2. **Command-Line Version** - A command-line interface (CLI) for managing packages without a GUI.
68

7-
## Features
9+
## Prerequisites
810

9-
- **User Authentication**: Users can log in with their username and password or sign up for a new account.
11+
Before running either version, ensure you have the following installed:
12+
- Python 3.x
13+
- Redis server
1014

11-
- **Upload Pip List**: Once logged in, users can upload their local `pip` package list to the cloud using Redis. This is useful for keeping track of your project dependencies.
15+
## Installation
1216

13-
- **Download Packages**: Users can download packages from their Redis-stored list, making it easy to set up the same environment on different machines.
17+
1. Clone the repository or download the code files.
1418

15-
## Usage
19+
2. Install the required Python packages. You can do this by running:
1620

17-
### Prerequisites
21+
```bash
22+
pip install -r requirements.txt
23+
```
1824

19-
Before using this application, make sure you have the following prerequisites:
25+
3. Set up your environment variables:
2026

21-
- Python 3.x installed
22-
- Access to a Redis server
23-
- Required Python libraries installed (`redis`, `getpass`, `subprocess`, `python-dotenv`)
27+
- Copy the `.env.example` file to `.env`:
2428

25-
### Installation
29+
```bash
30+
cp .env.example .env
31+
```
2632

27-
1. Clone this repository:
33+
- Edit the `.env` file to include your Redis connection parameters:
2834

29-
```
30-
git clone <repository-url>
31-
```
35+
```
36+
REDIS_HOST=your_redis_host
37+
REDIS_PORT=your_redis_port
38+
REDIS_PASSWORD=your_redis_password
39+
```
3240

33-
2. Change the directory to the project folder:
41+
## GUI Version
3442

35-
```
36-
cd <project-folder>
37-
```
43+
### Overview
3844

39-
3. Create a virtual environment (optional but recommended):
45+
The GUI version uses Tkinter to provide a user-friendly interface for managing packages.
4046

41-
```
42-
python -m venv venv
43-
source venv/bin/activate # On Windows: venv\Scripts\activate
44-
```
47+
### Running the GUI Version
4548

46-
4. Install the required Python libraries:
49+
1. **Start the Application**
4750

48-
```
49-
pip install -r requirements.txt
50-
```
51+
Run the following command to start the GUI application:
5152

52-
### Configuration
53+
```bash
54+
python app-gui.py
55+
```
5356

54-
1. Create a `.env` file in the project directory with your Redis connection parameters:
57+
2. **Usage**
5558

56-
```plaintext
57-
REDIS_HOST=your-redis-host
58-
REDIS_PORT=your-redis-port
59-
REDIS_PASSWORD=your-redis-password
60-
```
59+
- **Login**: Click "Login" and enter your username and password.
60+
- **Signup**: Click "Signup" to create a new account.
61+
- **Upload Selected Packages**: Select packages from the table and click "Upload Selected Packages" to upload them to Redis.
62+
- **Download All Packages**: Click "Download All Packages" to download and install all packages associated with the logged-in user.
63+
- **Download Selected Packages**: Select packages from the table and click "Download Selected Packages" to download and install them.
64+
- **Logout**: Click "Logout" to sign out of your account.
6165

62-
2. Ensure that the `.env` file is added to your `.gitignore` to prevent it from being committed to your Git repository.
66+
## Command-Line Version
6367

64-
### Usage
68+
### Overview
6569

66-
Run the Prizama application by executing the following command:
70+
The command-line version provides a terminal-based interface for managing packages.
6771

68-
```
69-
python pip_list_installer.py
70-
```
72+
### Running the Command-Line Version
7173

72-
Follow the on-screen instructions to log in, sign up, upload your pip package list to Redis, and download packages from Redis.
74+
1. **Start the Application**
7375

74-
### Copyright
76+
Run the following command to start the CLI application:
7577

76-
This code is provided under the following copyright terms:
78+
```bash
79+
python app.py
80+
```
7781

78-
- You are allowed to use this code for personal and educational purposes.
79-
- You may not distribute, sublicense, or make derivative works of this code.
80-
- You may not use this code for commercial purposes without explicit permission.
82+
2. **Usage**
8183

82-
## License
84+
- **Login**: Enter your username and password when prompted.
85+
- **Signup**: Create a new account by entering a new username and password when prompted.
86+
- **Upload Pip List**: Choose whether to use the pip module or pkg_resources to upload the pip list.
87+
- **Download All Packages**: Download and install all packages associated with the logged-in user.
88+
- **Sign Out**: Sign out of your account.
8389

84-
This project is licensed under the [MIT License](LICENSE).
90+
## Notes
8591

86-
## **Contact**
87-
88-
For any questions or inquiries, please contact khant_sodope@icloud.com.
92+
- Ensure Redis is running before using either version of the package manager.
93+
- Customize the `.env` file with your Redis server details.
8994

95+
For more information or help, feel free to reach out to me.

0 commit comments

Comments
 (0)