|
1 | | -# Prizama |
| 1 | +# Prizama's Package Manager |
2 | 2 |
|
3 | | -## Introduction |
| 3 | +## Overview |
4 | 4 |
|
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. |
6 | 8 |
|
7 | | -## Features |
| 9 | +## Prerequisites |
8 | 10 |
|
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 |
10 | 14 |
|
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 |
12 | 16 |
|
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. |
14 | 18 |
|
15 | | -## Usage |
| 19 | +2. Install the required Python packages. You can do this by running: |
16 | 20 |
|
17 | | -### Prerequisites |
| 21 | + ```bash |
| 22 | + pip install -r requirements.txt |
| 23 | + ``` |
18 | 24 |
|
19 | | -Before using this application, make sure you have the following prerequisites: |
| 25 | +3. Set up your environment variables: |
20 | 26 |
|
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`: |
24 | 28 |
|
25 | | -### Installation |
| 29 | + ```bash |
| 30 | + cp .env.example .env |
| 31 | + ``` |
26 | 32 |
|
27 | | -1. Clone this repository: |
| 33 | + - Edit the `.env` file to include your Redis connection parameters: |
28 | 34 |
|
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 | + ``` |
32 | 40 |
|
33 | | -2. Change the directory to the project folder: |
| 41 | +## GUI Version |
34 | 42 |
|
35 | | - ``` |
36 | | - cd <project-folder> |
37 | | - ``` |
| 43 | +### Overview |
38 | 44 |
|
39 | | -3. Create a virtual environment (optional but recommended): |
| 45 | +The GUI version uses Tkinter to provide a user-friendly interface for managing packages. |
40 | 46 |
|
41 | | - ``` |
42 | | - python -m venv venv |
43 | | - source venv/bin/activate # On Windows: venv\Scripts\activate |
44 | | - ``` |
| 47 | +### Running the GUI Version |
45 | 48 |
|
46 | | -4. Install the required Python libraries: |
| 49 | +1. **Start the Application** |
47 | 50 |
|
48 | | - ``` |
49 | | - pip install -r requirements.txt |
50 | | - ``` |
| 51 | + Run the following command to start the GUI application: |
51 | 52 |
|
52 | | -### Configuration |
| 53 | + ```bash |
| 54 | + python app-gui.py |
| 55 | + ``` |
53 | 56 |
|
54 | | -1. Create a `.env` file in the project directory with your Redis connection parameters: |
| 57 | +2. **Usage** |
55 | 58 |
|
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. |
61 | 65 |
|
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 |
63 | 67 |
|
64 | | -### Usage |
| 68 | +### Overview |
65 | 69 |
|
66 | | -Run the Prizama application by executing the following command: |
| 70 | +The command-line version provides a terminal-based interface for managing packages. |
67 | 71 |
|
68 | | -``` |
69 | | -python pip_list_installer.py |
70 | | -``` |
| 72 | +### Running the Command-Line Version |
71 | 73 |
|
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** |
73 | 75 |
|
74 | | -### Copyright |
| 76 | + Run the following command to start the CLI application: |
75 | 77 |
|
76 | | -This code is provided under the following copyright terms: |
| 78 | + ```bash |
| 79 | + python app.py |
| 80 | + ``` |
77 | 81 |
|
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** |
81 | 83 |
|
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. |
83 | 89 |
|
84 | | -This project is licensed under the [MIT License](LICENSE). |
| 90 | +## Notes |
85 | 91 |
|
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. |
89 | 94 |
|
| 95 | +For more information or help, feel free to reach out to me. |
0 commit comments