Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neuralraven-1.0.0.tar.gz (412.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neuralraven-1.0.0-cp39-cp39-win_amd64.whl (522.0 kB view details)

Uploaded CPython 3.9Windows x86-64

File details

Details for the file neuralraven-1.0.0.tar.gz.

File metadata

  • Download URL: neuralraven-1.0.0.tar.gz
  • Upload date:
  • Size: 412.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.13

File hashes

Hashes for neuralraven-1.0.0.tar.gz
Algorithm Hash digest
SHA256 5a38b45adaa6dd76ecf3c3bf881dc60390fb37f4a0bb50c14bf9c4c97d13c949
MD5 2467b6baa265d23027ea2d82c9237cf7
BLAKE2b-256 033b5070923ed2b1d7980fabe2aeef0fc60b7238a262547796c68a14b19c4004

See more details on using hashes here.

File details

Details for the file neuralraven-1.0.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: neuralraven-1.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 522.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.13

File hashes

Hashes for neuralraven-1.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6bf5d4443f614faefe1fa33811f9a829dd00654849ae1d012714747e4c9cc045
MD5 7a7ac2373e41b6a8357d1bbaafc9da4c
BLAKE2b-256 d9c8b15ffee9fdfc078688a4e8a09b3b34fecfba39265cf73cf9dee726e0ade8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page