Genova is a versatile Python library that offers a collection of powerful tools for various domains including mathematics, artificial intelligence, finance, and more.
Project description
Genova - A General-Purpose Python Library
Genova is a versatile Python library designed to offer easy-to-use utilities for a variety of domains such as mathematics, machine learning, finance, and more. With its modular structure, Genova makes it simple to access and apply mathematical operations, machine learning models, financial tools, and more, making it an essential library for both professionals and enthusiasts.
Table of Contents
- Installation
- Usage
- Math Module
- AI Models Module - Coming soon
- Finance Module - Coming soon
- Examples
- Contributing
- License
Installation
To install Genova via pip:
pip install genova
Alternatively, if you want to install the latest version directly from GitHub, use the following command:
```bash
pip install git+https://github.com/egegvner/genova.git
```
## Usage
Once installed, you can use the library to perform various tasks. Here are some examples of how to get started with different modules:
### Math Module
The **`genova.math`** module offers utilities for mathematical operations, such as polynomial derivatives, turning points, and gradients.
#### Derivative of a Polynomial
```python
from genova.math import calculus
coefficients = [2, -3, 5] # 2x^2 - 3x + 5
derivative = calculus.derivative(coefficients)
print(derivative) # Output: "4x - 3"
```
#### Turning Points of a Polynomial
```python
coefficients = [1, -3, 2] # x^2 - 3x + 2
turning_points, derivative_str = calculus.turning_points(2, 1, -3, 2)
print(turning_points) # Output: [(1.0, 0.0)]
print(derivative_str) # Output: "2x - 3"
```
#### Gradient at a Point
```python
x = 1
gradient = calculus.gradient_at_point(coefficients, x)
print(gradient) # Output: 3
```
### AI Models Module
The **`genova.models`** module provides utilities to work with machine learning models, including training, evaluating, and making predictions.
#### Simple Neural Network for MNIST
```python
from genova.models import neural_networks
model = neural_networks.build_mnist_model()
model.summary() # Displays the model architecture
```
### Finance Module
The **`genova.finance`** module offers tools for financial calculations, including stock price analysis and basic financial tools.
#### Get Latest Stock Price
```python
from genova.finance import stocks
stock_price = stocks.get_stock_price("AAPL")
print(stock_price) # Output: Latest Apple stock price
```
## Examples
### Math Examples
- **Derivative**: Calculate the derivative of polynomials and express it in human-readable format.
- **Turning Points**: Find the turning points (local minima and maxima) of a polynomial function.
- **Gradient**: Compute the gradient (slope) of a polynomial at any given point.
### AI Models Examples
- **Model Building**: Build machine learning models with ease using predefined functions.
- **Training**: Quickly set up neural networks for training on datasets (e.g., MNIST).
- **Prediction**: Use trained models for making predictions or classification tasks.
### Finance Examples
- **Stock Data**: Fetch real-time stock prices using `yfinance`.
- **Financial Calculations**: Work with basic finance-related calculations, such as loan repayments, stock price trends, etc.
## Contributing
We welcome contributions to **Genova**! If you have ideas for new features, improvements, or bug fixes, please follow the steps below:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature-name`).
3. Commit your changes (`git commit -am 'Add new feature'`).
4. Push to the branch (`git push origin feature-name`).
5. Open a pull request with a detailed description of your changes.
Please ensure that your code follows the existing style and includes tests where applicable.
## License
**Genova** is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.
---
Feel free to explore the library, contribute, or contact the maintainers if you need further help or have any questions.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file genova-1.1.3.tar.gz.
File metadata
- Download URL: genova-1.1.3.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a09317a1f407b4ba4fd133b9c3b9d93e61aa13e2e585f736ea0a3366ae008a9a
|
|
| MD5 |
88b8345e6c47f5ca0615855203892181
|
|
| BLAKE2b-256 |
6d64cb8549082ab49b8ae5fade16796041090d2297654fdaa211bfdf0fabdb81
|
File details
Details for the file genova-1.1.3-py3-none-any.whl.
File metadata
- Download URL: genova-1.1.3-py3-none-any.whl
- Upload date:
- Size: 3.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac343fce0c069fff77e24c917b245eae1ad7784b4b1ca9e13a7100f9927635fb
|
|
| MD5 |
a7154a60ac535a1eb57b46c527dcaf87
|
|
| BLAKE2b-256 |
a62bf73d2b34446b185e31ab2fa7661a9d39bc70b1cc3567d0bf247bf84f1753
|