Metadata-Version: 2.1
Name: neug
Version: 0.1.0
Summary: GraphScope NeuG for python
Home-page: https://github.com/graphscope/neug
Author: GraphScope Team
Author-email: GraphScope Team <graphscope@alibaba-inc.com>
Keywords: Graph,Python,Embedded,Graph Database
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: pybind11>=2.9.2
Requires-Dist: packaging>=24.2
Requires-Dist: protobuf<=3.20
Requires-Dist: requests
Requires-Dist: tqdm
Provides-Extra: test
Requires-Dist: pytest>=6.2.5; extra == "test"
Requires-Dist: black>=23.3.0; extra == "test"
Requires-Dist: flake8==4.0.1; extra == "test"
Requires-Dist: isort==5.10.1; extra == "test"

# The python binding API for NeuG

# Building the Wheel

## Develope

To build a wheel for the local environment, run:

```bash
source ~/.neug_env
cd tools/python_bind
export DEBUG=1
pip3 install -r requirements.txt
pip3 install -r requirements_dev.txt
python3 setup.py build_proto
python3 setup.py build_ext
python3 setup.py bdist_wheel
pip3 install dist/*
```

## Distribution

To build wheels for all supported Python versions on this platform, use the following commands:

```bash
pip3 install cibuildwheel
cd ${ROOT_DIR}
cibuildwheel ./tools/python_bind --output-dir wheelhouse
```

# Development Mode Setup

In development mode, wheels are not built or installed. Instead, the required dynamic library is built and copied to `tools/python_bind/build`. Any changes made to the Python codebase will take effect immediately, allowing for seamless reloading of files.

```bash
make develop
# run tests

python3 -m pytest tests/test_a.py
```

or 
```bash
python3 setup.py build_ext --inplace --build-temp=build
```
