Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workflow + deps #10

Merged
merged 7 commits into from
Jan 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
10 changes: 10 additions & 0 deletions .github/workflows/python_linting.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: Python linting

on: [pull_request]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: psf/black@stable
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -158,3 +158,7 @@ cython_debug/
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/


# MacOS specific
.DS_Store
6 changes: 6 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
repos:
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 23.12.1
hooks:
- id: black
language_version: python3.11
26 changes: 26 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# PySymGym
Python infrastructure to train paths selectors for symbolic execution engines.


## Quick Start


This repository contains submodules, so use the following command to get sources locally.
```
git clone --recurse-submodules https://github.com/gsvgit/PySymGym.git
Expand All @@ -13,3 +15,27 @@ Build .net game server (V#)
cd GameServers/VSharp
dotnet build -c Release
```

Create & activate virtual environment:
```bash
python3 -m pip install virtualenv
python3 -m virtualenv .env
source .env/bin/activate
pip install requirements.txt
```

### GPU installation:

To use GPU, the correct `torch` and `torch_geometric` version should be installed depending on your host device. You may first need to `pip uninstall` these packages, provided by requirements.
Then follow installation instructions provided on [torch](https://pytorch.org/get-started/locally/) and [torch_geometric](https://pytorch-geometric.readthedocs.io/en/stable/install/installation.html#installation-from-wheels) websites.

## Usage

...

## Linting tools

Install [black](https://github.com/psf/black) code formatter by running following command in repo root to check your codestyle before committing:
```bash
pip install pre-commit && pre-commit install
```
64 changes: 64 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
aiohttp==3.9.1
aiosignal==1.3.1
attrs==23.2.0
certifi==2023.11.17
cfgv==3.4.0
charset-normalizer==3.3.2
cloudpickle==3.0.0
coloredlogs==15.0.1
contourpy==1.2.0
cycler==0.12.1
dataclasses-json==0.6.3
distlib==0.3.8
filelock==3.13.1
flatbuffers==23.5.26
fonttools==4.47.2
frozenlist==1.4.1
fsspec==2023.12.2
func-timeout==4.3.5
httplib2==0.22.0
humanfriendly==10.0
identify==2.5.33
idna==3.6
Jinja2==3.1.3
joblib==1.3.2
kiwisolver==1.4.5
MarkupSafe==2.1.3
marshmallow==3.20.2
matplotlib==3.8.2
mpmath==1.3.0
multidict==6.0.4
mypy-extensions==1.0.0
networkx==3.2.1
nodeenv==1.8.0
numpy==1.26.3
onnx==1.15.0
onnxruntime==1.16.3
packaging==23.2
pandas==2.1.4
pillow==10.2.0
platformdirs==4.1.0
pre-commit==3.6.0
protobuf==4.25.2
psutil==5.9.7
pygad==3.2.0
pyparsing==3.1.1
python-dateutil==2.8.2
pytz==2023.3.post1
PyYAML==6.0.1
requests==2.31.0
scikit-learn==1.4.0
scipy==1.11.4
six==1.16.0
sympy==1.12
threadpoolctl==3.2.0
torch==2.1.2
torch_geometric==2.4.0
tqdm==4.66.1
typing-inspect==0.9.0
typing_extensions==4.9.0
tzdata==2023.4
urllib3==2.1.0
virtualenv==20.25.0
websocket-client==1.7.0
yarl==1.9.4