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.
Metadata
Release files for genova 1.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| genova-1.1.4.tar.gz | 3.1 kB | Without provenance | Details for genova-1.1.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| genova-1.1.4-py3-none-any.whl | Python 3 | none | any | Details for genova-1.1.4-py3-none-any.whl |
Total release size: 6.0 kB
Release files / genova-1.1.4.tar.gz
| Download URL | genova-1.1.4.tar.gz |
|---|---|
| Size | 3.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
42b08a60bd8f3d10157172e13886037469149c598e10e3f8de191fc09d31f0da
|
|
BLAKE2b-256 checksum How to use checksums |
d76b8148bb0ee4f5a85996722eb891939a17b78d5db778b07e1503bd436f7850
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.4
|
Release files / genova-1.1.4-py3-none-any.whl
| Download URL | genova-1.1.4-py3-none-any.whl |
|---|---|
| Size | 3.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ebc5de3f5d18e6ee2e709a00610688d330b71576b7fb94bcc1557309f637f2a5
|
|
BLAKE2b-256 checksum How to use checksums |
b660a07cbf2d73f38756898967764e49dd3aa981bc3bc81b1ddeb75e430a660c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.4
|
Security for genova 1.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.