Metadata-Version: 2.4
Name: cis-pract
Version: 0.1.0
Summary: A complete, installable Python package for Cyber Security practical programs.
Author-email: Author <author@example.com>
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Education
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# Cyber Security Practicals

## 1. Overview
A professional, installable Python package that provides a CLI tool to generate editable source code for Cyber Security practicals directly into your project workspace.

## 2. Features
- Contains 10 standard educational Cyber Security practicals.
- Generates clean, editable Python source files (`.py`) inside a `cyber-security-practicals` directory in your current workspace.
- Easy-to-use CLI commands.
- Interactive mode for selecting specific practicals.
- Safe generation: Never silently overwrites your existing customized code.

## 3. Installation
You can install the package via pip:
```bash
pip install cis-pract
```

## 4. Available Practicals
01. Substitution and Transposition
02. RSA Encryption and Decryption
03. Message Authentication Code
04. Digital Signatures
05. Diffie-Hellman Key Exchange
06. IP Security / IPsec
07. Web Security with SSL/TLS
08. Intrusion Detection System
09. Malware Analysis and Detection
10. Firewall Configuration

## 5. List Practicals
To see the list of all available practicals, run:
```bash
cis-pract list
```

## 6. Generate All Practicals
To generate all 10 practical files at once:
```bash
cis-pract init --all
```

## 7. Generate Selected Practicals
To generate only specific practicals, use the `--only` flag followed by practical numbers:
```bash
cis-pract init --only 2 5
```

## 8. Interactive Mode
If you run `init` without any flags, it will prompt you interactively:
```bash
cis-pract init
```

## 9. File Customization
The generated files are normal, editable Python files. You can open them in VS Code, PyCharm, or any text editor. Modify them, add comments, change algorithmsâ€”they are your working copies.

## 10. Running a Practical
To run a generated practical, navigate to the folder and use standard Python:
```bash
cd cyber-security-practicals
python rsa_encryption_and_decryption.py
```

## 11. Existing File Handling
If you have modified a practical file and try to generate it again, the tool will prompt you before overwriting to ensure your customizations are not lost. You can choose to skip, overwrite, or cancel. You can bypass the prompt using the `--force` flag.

## 12. Dependencies
The practicals use Python's built-in libraries (like `hmac`, `hashlib`, `ssl`). No complex external dependencies are required for the core cryptographic algorithms provided.

## 13. Development Setup
To set up for development, clone the repository and install in editable mode:
```bash
pip install -e .
```

## 14. Testing
Run tests using `pytest` (or `unittest`):
```bash
python -m unittest discover tests
```

## 15. Building the Package
To build the package distribution (wheel and sdist):
```bash
python -m build
```

## 16. Publishing to PyPI
After building, you can upload using twine:
```bash
twine upload dist/*
```

## 17. License
This project is licensed under the MIT License.

## 18. Disclaimer
The practicals included in this package are educational implementations and simulations where applicable. They are designed for learning and understanding cryptographic and security concepts. They make no claim to provide real-world security and should not be used in production environments.
