-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
388add3
commit 90f5923
Showing
1 changed file
with
114 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
```markdown | ||
# Getting Started with GraphFusion Core | ||
|
||
Welcome to the GraphFusion Core repository! This guide will help you set up your development environment, understand the repository structure, and run basic tests to ensure everything is working as expected. | ||
|
||
## Table of Contents | ||
|
||
1. [Repository Overview](#repository-overview) | ||
2. [Prerequisites](#prerequisites) | ||
3. [Setting Up Your Environment](#setting-up-your-environment) | ||
4. [Running the Code](#running-the-code) | ||
5. [Testing and Linting](#testing-and-linting) | ||
6. [Contributing](#contributing) | ||
|
||
--- | ||
|
||
### Repository Overview | ||
|
||
The GraphFusion Core repository consists of key components such as: | ||
- **Graph Management**: Core graph representation and optimization. | ||
- **Neural Memory System**: Efficient memory management, persistence, and confidence scoring. | ||
- **Distributed Processing**: Support for multi-agent memory sharing. | ||
- **Utilities and Helpers**: Logging, metrics, and utility functions for smooth development and debugging. | ||
|
||
For a more in-depth look at the structure, please refer to the `architecture.md` file in the `docs/internal/` folder. | ||
|
||
### Prerequisites | ||
|
||
To run GraphFusion, you will need the following tools: | ||
- **Python 3.9 or higher** | ||
- **Poetry**: For dependency management and virtual environment setup. | ||
- **Git**: To clone and manage code versions. | ||
|
||
### Setting Up Your Environment | ||
|
||
1. **Clone the Repository**: | ||
```bash | ||
git clone [email protected]:graphfusion/graphfusion-core.git | ||
cd graphfusion-core | ||
``` | ||
|
||
2. **Install Dependencies**: | ||
GraphFusion uses Poetry to manage dependencies. Run the following commands to install Poetry and set up your environment: | ||
```bash | ||
# Install Poetry (if not already installed) | ||
curl -sSL https://install.python-poetry.org | python3 - | ||
|
||
# Install dependencies | ||
poetry install | ||
``` | ||
|
||
3. **Activate the Environment**: | ||
Once dependencies are installed, activate the virtual environment: | ||
```bash | ||
poetry shell | ||
``` | ||
|
||
### Running the Code | ||
|
||
To get a feel for GraphFusion’s functionalities, you can run the example scripts provided in the `examples/` directory. | ||
|
||
1. **Basic Usage**: | ||
```bash | ||
python examples/basic_usage.py | ||
``` | ||
This script demonstrates basic graph and memory operations within the core GraphFusion framework. | ||
|
||
2. **Advanced Features**: | ||
```bash | ||
python examples/advanced_features.py | ||
``` | ||
Explore advanced functionalities like memory consolidation, confidence scoring, and data processing. | ||
|
||
3. **Benchmarking**: | ||
For testing performance, run: | ||
```bash | ||
python examples/benchmarks.py | ||
``` | ||
|
||
### Testing and Linting | ||
|
||
GraphFusion uses `pytest` for testing and `flake8` for linting to ensure code quality. | ||
|
||
1. **Run Tests**: | ||
```bash | ||
poetry run pytest | ||
``` | ||
This command will execute all unit, integration, and performance tests located in the `tests/` directory. | ||
|
||
2. **Run Linting**: | ||
```bash | ||
poetry run flake8 src | ||
``` | ||
This will check for style issues across the codebase. You can also use `black` to format your code automatically: | ||
```bash | ||
poetry run black src | ||
``` | ||
|
||
### Contributing | ||
|
||
We welcome contributions to GraphFusion! Please follow these steps to contribute: | ||
1. **Fork the Repository** and create a new branch for your feature or fix: | ||
```bash | ||
git checkout -b feature/new-feature | ||
``` | ||
2. **Make Your Changes** and ensure all tests pass. | ||
3. **Submit a Pull Request** following the template in `.github/pull_request_template.md`. | ||
|
||
For more detailed guidelines, refer to `CONTRIBUTING.md`. | ||
|
||
--- | ||
|
||
That's it! You're ready to start exploring and contributing to GraphFusion Core. If you have any questions, please reach out via our [GitHub Discussions](https://github.com/graphfusion/graphfusion-core/discussions). | ||
``` |