Pynance is an integrated system combining five powerful applications:
- PyBudget: Expense tracker and budget management
- Calculator: Advanced calculator with comprehensive mathematical operations
- Pytasker: Task management application with Flask backend
- FileOrganizer: File organization tool with duplicate detection and date-based organization
- PyBot: Chatbot for financial assistance and general queries
- Track expenses and manage budgets
- Generate detailed budget reports
- Categorize expenses for better financial tracking
- Basic arithmetic operations (addition, subtraction, multiplication, division)
- Advanced mathematical operations (power, square root, percentage, modulo, absolute value)
- Calculation history and clear screen functionality
- Comprehensive error handling
- Chatbot for financial assistance and general queries
- Natural language processing for intent recognition
- User authentication and session management
- Web-based interface for interaction
- Integration with other Pynance modules for unified assistance
- Organize files into categories based on file extensions
- Date-based organization (monthly/quarterly)
- Duplicate file detection and handling
- Parallel processing for better performance
- Comprehensive logging
- Safe file operations with backup support
- Command-line interface with various options
- Full-stack task management application
- Flask backend with SQLAlchemy database
- RESTful API for task management
- CORS support for frontend-backend communication
-
Clone the repository:
git clone <repository-url> cd Pynance
-
Install the required dependencies:
pip install -r requirements.txt
To see all functionalities in action:
python main.pyTo run the file organizer:
python pynance.py organizerfrom pybudget import Budget, Expense, generate_report
# Create a budget
budget = Budget("Monthly Budget", 5000.0)
# Add expenses
expense1 = Expense("Groceries", 150.0, "Food")
expense2 = Expense("Rent", 1200.0, "Housing")
budget.add_expense(expense1)
budget.add_expense(expense2)
# Generate a report
print(generate_report(budget))from calculator.calculator import Calculator
# Create a calculator instance
calculator = Calculator()
# Perform operations
result_add = calculator.add(10, 5)
result_subtract = calculator.subtract(10, 5)
result_multiply = calculator.multiply(10, 5)
result_divide = calculator.divide(10, 5)
print(f"Addition: 10 + 5 = {result_add}")
print(f"Subtraction: 10 - 5 = {result_subtract}")
print(f"Multiplication: 10 * 5 = {result_multiply}")
print(f"Division: 10 / 5 = {result_divide}")# Run the file organizer
python pynance.py organizer
# With options:
python pynance.py organizer --directory /path/to/directory --workers 8 --verboseTo run the Pytasker task management application:
-
Navigate to the Pytasker directory:
cd Pytasker -
Run the Flask application:
flask run
-
Open your browser to http://localhost:5000 to access the task manager
To run the PyBot chatbot application:
-
Navigate to the Pynance directory:
cd Pynance -
Run the PyBot application:
python pynance.py chatbot
-
Open your browser to http://localhost:5000 to access the chatbot
Pynance provides a unified CLI to access all components:
python pynance.py [budget|calculator|tasker|chatbot|all]budget: Run PyBudget democalculator: Run PyCalculator demotasker: Start Pytasker web applicationchatbot: Start PyBot web applicationorganizer: Run File Organizerall: Run all demos
Pynance/
│
├── pybudget/
│ ├── __init__.py
│ ├── budget.py
│ ├── expense.py
│ ├── reports.py
│ └── utils.py
│
├── calculator/
│ ├── __init__.py
│ ├── calculator.py
│ ├── operations.py
│ └── utils.py
├── file_organizer/
│ ├── file_organizer/
│ │ ├── __init__.py
│ │ ├── config.py
│ │ ├── main.py
│ │ ├── organizer.py
│ │ └── utils.py
│ ├── scripts/
│ └── tests/
├── Pytasker/
│ ├── app/
│ │ ├── __init__.py
│ │ ├── forms.py
│ │ ├── models.py
│ │ ├── routes.py
│ │ └── templates/
│ ├── config.py
│ └── manage.py
├── pybot/
│ ├── __init__.py
│ ├── bot/
│ │ ├── __init__.py
│ │ ├── chatbot.py
│ │ ├── core/
│ │ │ ├── __init__.py
│ │ │ ├── extensions.py
│ │ │ ├── preprocessing.py
│ │ │ └── models/
│ │ │ └── svc_model.py
│ ├── config/
│ │ ├── __init__.py
│ │ ├── models.py
│ │ └── settings.py
│ ├── data/
│ │ └── intents.json
│ ├── static/
│ │ ├── css/
│ │ │ └── style.css
│ │ └── js/
│ │ └── chatbot.js
│ └── templates/
│ ├── index.html
│ ├── login.html
│ └── register.html
│
├── shared/
│ ├── __init__.py
│ ├── config.py
│ ├── logging.py
│ └── utils.py
│
├── tests/
│ ├── test_pybudget/
│ ├── test_calculator/
│ └── test_shared/
│
├── main.py
├── pynance.py
├── README.md
├── requirements.txt
└── setup.py
Run the tests to ensure everything is working correctly:
python -m pytest tests/This project is licensed under the MIT License.