Library of neural network with a evolutive algorithm of autolearned
Project description
NeuralRaven — Evolutionary Neural Network Library
NeuralRaven is a Python library that implements a fully customizable neural network architecture capable of training itself using an evolutionary algorithm (genetic optimization).
Unlike traditional machine-learning libraries, neuralRaven does not use gradient descent, backpropagation, or optimizers.
Instead, it evolves network weights over generations.
This makes RAVEN suitable for:
- Environments where gradient-based training performs poorly.
- Reinforcement learning tasks.
- Black-box optimization problems.
- Scenarios with non-differentiable fitness functions.
✨ Features
- Fully implemented neural network written in Python.
- Genetic/Evolutionary algorithm for self-training.
- Support for mutation, crossover, elitism, and population-based evolution.
- Save/Load functionality for evolved models.
- Small footprint and easy to integrate.
- Cross-platform wheel support (Windows, Linux, macOS).
- Compatible with Python 3.8–3.14.
📦 Installation
Once the package is published on PyPI:
pip install neuralRaven
If installing from source:
pip install .
🚀 Quick Example
# main.py
import neuralRaven
def main():
print("=== Executing in neuralRaven.IO.fromFiles() ===")
# Name files
config_file = "configurationfile"
data_file = "datatest"
try:
neuralRaven.IO.fromFiles(config_file, data_file)
print("\n=== Execution complete without errors ===")
except Exception as e:
print("\n*** Error in the execution ***")
print(e)
if __name__ == "__main__":
main()
📁 Project Structure
raven/
__init__.py
neural_network.py
evolutionary.py
test/
test_basic.py
data/
example_input.json
example_output.json
🛠 Building Wheels (for PyPI)
This project uses cibuildwheel to build platform-specific wheels.
GitHub Actions workflows:
.github/workflows/build_wheels.yml — builds wheels for Windows/Linux/macOS.
.github/workflows/publish.yml — publishes wheels to PyPI.
📄 License
This project is released under the MIT License — see the LICENSE file for details.
👥 Authors
Carlos Gerardo Euresty Uribe
Lead author and primary developer of the neural network architecture and evolutionary algorithm.
Email: gerardo.eeuresty@itcelaya.edu.mx
Jesús Miguel Cerda González
Contributor responsible for packaging the project as a Python library, optimizing modules, and improving usability.
Email: cerda.gonzalez.jesus@gmail.com
Project details
Release history Release notifications | RSS feed
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 neuralraven-1.1.0.tar.gz.
File metadata
- Download URL: neuralraven-1.1.0.tar.gz
- Upload date:
- Size: 411.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e707dd81b0cb33af47192715cc4fb92cfb9737602af1a4785d00af3c33e1859e
|
|
| MD5 |
746777ab2b9fa1266174c33ef9c74fe6
|
|
| BLAKE2b-256 |
f28bc5f444a1a5942081b2e53fa2b35308f07ce7dd4c2b32e379cd6474455aad
|
File details
Details for the file neuralraven-1.1.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: neuralraven-1.1.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 416.4 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62cb00b9bb8f7b140591e24893553bba701af0443a78eb63ebb6e7293ecaf8dc
|
|
| MD5 |
1ae62e491072e70d4ddc8281ba595277
|
|
| BLAKE2b-256 |
10f64c2455430af0ededd12acb392c03bf07977d97468efb899a575203aea45f
|