{"id":24634458,"url":"https://github.com/lunastev/flowmodel","last_synced_at":"2026-05-20T02:31:45.595Z","repository":{"id":273128717,"uuid":"918211183","full_name":"LunaStev/FlowModel","owner":"LunaStev","description":"FlowModel is a lightweight and extensible machine learning framework designed for beginners to easily experiment with AI development through a modular plugin architecture.","archived":false,"fork":false,"pushed_at":"2025-01-18T08:31:11.000Z","size":14,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-11T04:53:21.502Z","etag":null,"topics":["ai","ai-model","ai-models","beginner-friendly","flow-model","flow-models","flowmodel","framework","lightweight","machine-learning","model","numpy","plugin-architecture","python","torch","torchvision"],"latest_commit_sha":null,"homepage":"https://huggingface.co/LunaStev/FlowModel","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LunaStev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"lunasev","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2025-01-17T13:22:57.000Z","updated_at":"2025-01-18T04:43:54.000Z","dependencies_parsed_at":"2025-01-18T21:57:58.707Z","dependency_job_id":"1b57944b-6fa2-462c-8607-3cc6f819add0","html_url":"https://github.com/LunaStev/FlowModel","commit_stats":null,"previous_names":["lunastev/flowmodel"],"tags_count":1,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LunaStev%2FFlowModel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LunaStev%2FFlowModel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LunaStev%2FFlowModel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LunaStev%2FFlowModel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LunaStev","download_url":"https://codeload.github.com/LunaStev/FlowModel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244574798,"owners_count":20474818,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-model","ai-models","beginner-friendly","flow-model","flow-models","flowmodel","framework","lightweight","machine-learning","model","numpy","plugin-architecture","python","torch","torchvision"],"created_at":"2025-01-25T09:12:49.120Z","updated_at":"2026-05-20T02:31:45.561Z","avatar_url":"https://github.com/LunaStev.png","language":"Python","funding_links":["https://ko-fi.com/lunasev"],"categories":[],"sub_categories":[],"readme":"# FlowModel\n\nFlowModel is a lightweight and extensible machine learning framework designed for beginners who want to explore AI development. With its modular plugin-based architecture, users can easily extend its functionality while keeping the core simple and maintainable.\n\n---\n\n## Table of Contents\n1. [Introduction](#introduction)\n2. [Installation](#installation)\n3. [Directory Structure](#directory-structure)\n4. [Usage](#usage)\n    - [Training a Model](#training-a-model)\n    - [Adding Plugins](#adding-plugins)\n5. [Creating Plugins](#creating-plugins)\n6. [Command-Line Interface](#command-line-interface)\n7. [Contributing](#contributing)\n8. [License](#license)\n\n---\n\n## Introduction\nFlowModel provides a simple entry point for experimenting with AI and machine learning. It allows users to start with a minimal framework and extend it by creating and adding plugins. The framework is designed to focus on simplicity, modularity, and extensibility.\n\n---\n\n## Installation\n\n### Prerequisites\n- Python 3.8 or higher\n- `pip` package manager\n\n### Steps\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/LunaStev/FlowModel.git\n   cd FlowModel\n   ```\n\n2. Create and activate a virtual environment:\n   ```bash\n   python -m venv .venv\n   source .venv/bin/activate  # For Unix/MacOS\n   .venv\\Scripts\\activate   # For Windows\n   ```\n\n3. Install dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n---\n\n## Directory Structure\n```plaintext\nFlowModel/\n├── main.py             # Entry point for the application\n├── plugins/            # Directory for plugins\n│   ├── __init__.py     # Initializes the plugin package\n│   ├── example_plugin.py # Example plugin\n├── data/               # Placeholder for datasets\n├── requirements.txt    # Python dependencies\n```\n\n---\n\n## Usage\n\n### Training a Model\nTo train a model using FlowModel, run:\n```bash\npython main.py train\n```\nThis will load any available plugins from the `plugins/` directory and apply their logic during the training process.\n\n### Adding Plugins\nTo add a plugin, place a `.py` file with your plugin class in the `plugins/` directory. FlowModel automatically detects and loads plugins at runtime.\n\n---\n\n## Creating Plugins\nPlugins extend the functionality of FlowModel. To create a plugin:\n\n1. **Create a new Python file in the `plugins/` directory**:\n   ```bash\n   plugins/my_plugin.py\n   ```\n\n2. **Define your plugin class**:\n   ```python\n   class MyPlugin:\n       def __init__(self):\n           print(\"MyPlugin initialized.\")\n\n       def modify_model(self, model):\n           print(\"MyPlugin: Modifying the model.\")\n           return model\n\n       def on_train_start(self):\n           print(\"MyPlugin: Training started.\")\n\n       def on_train_end(self):\n           print(\"MyPlugin: Training finished.\")\n   ```\n\n3. **Use your plugin during training**:\n   When `main.py` runs, it automatically loads your plugin and calls its methods.\n\n---\n\n## Command-Line Interface\nFlowModel includes a simple CLI for interacting with the framework.\n\n### Commands\n- **Train**: Start the training process with plugins.\n  ```bash\n  python main.py train\n  ```\n\n---\n\n## Contributing\nContributions are welcome! To contribute:\n1. Fork the repository.\n2. Create a new branch for your feature.\n3. Commit your changes and push them.\n4. Open a pull request.\n\n---\n\n## License\nFlowModel is released under the MPL-2.0 License. See [LICENSE](LICENSE) for details.\n\n---\n\nHappy experimenting with FlowModel! 🚀\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flunastev%2Fflowmodel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flunastev%2Fflowmodel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flunastev%2Fflowmodel/lists"}