Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tddschn/install-easygraph
Action that build and install python-easygraph from source
https://github.com/tddschn/install-easygraph
action easygraph github-actions python ubuntu-latest
Last synced: about 2 months ago
JSON representation
Action that build and install python-easygraph from source
- Host: GitHub
- URL: https://github.com/tddschn/install-easygraph
- Owner: tddschn
- Created: 2022-08-22T13:58:24.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-04-19T05:37:07.000Z (over 1 year ago)
- Last Synced: 2024-10-18T00:41:54.442Z (3 months ago)
- Topics: action, easygraph, github-actions, python, ubuntu-latest
- Language: Python
- Homepage: https://github.com/marketplace/actions/install-easygraph
- Size: 143 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# install-easygraph
[![Test the install-easygraph Action](https://github.com/tddschn/install-easygraph/actions/workflows/test.yaml/badge.svg)](https://github.com/tddschn/install-easygraph/actions/workflows/test.yaml)
[![Test the install-easygraph Action (macOS)](https://github.com/tddschn/install-easygraph/actions/workflows/test-macos.yaml/badge.svg)](https://github.com/tddschn/install-easygraph/actions/workflows/test-macos.yaml)[![Test the install-easygraph Action (dummy)](https://github.com/tddschn/install-easygraph/actions/workflows/test-dummy.yaml/badge.svg)](https://github.com/tddschn/install-easygraph/actions/workflows/test-dummy.yaml)
[![Test the install-easygraph Action (macOS)(dummy)](https://github.com/tddschn/install-easygraph/actions/workflows/test-macos-dummy.yaml/badge.svg)](https://github.com/tddschn/install-easygraph/actions/workflows/test-macos-dummy.yaml)- [install-easygraph](#install-easygraph)
- [What does this Action do?](#what-does-this-action-do)
- [Usage and options](#usage-and-options)
- [`tddschn/install-easygraph`](#tddschninstall-easygraph)
- [`tddschn/install-easygraph/dummy`](#tddschninstall-easygraphdummy)
- [Releases and changelog](#releases-and-changelog)
- [v0.6.0](#v060)
- [v0.5.0](#v050)
- [v0.4.0](#v040)
- [v0.3.1](#v031)
- [v0.2.0](#v020)
- [v0.1.1](#v011)
- [Used by](#used-by)## What does this Action do?
`tddschn/install-easygraph` is a Action that builds and installs the [easygraph](https://github.com/easy-graph/Easy-Graph) from source, on ubuntu-latest.
## Usage and options
### `tddschn/install-easygraph`
See [`action.yml`](./action.yml)
```yaml
benchmark:
runs-on: ubuntu-latest # it's only tested to work on ubuntu-latest
steps:
# install-easygraph will use the the version of the `python` in your path
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-version: '3.9'- name: 'Build and install easygraph'
uses: tddschn/install-easygraph@master # or v0.1.1, or any other ref
with:
repository: 'easy-graph/Easy-Graph' # or tddschn/Easy-Graph
ref: 'pybind11' # SHA1, tag, or branch
use-cached-build: 'true' # defaults to true. cached builds won't be used for anything other than 'true'.
install-lxml: 'false' # defaults to false. lxml is an optional dependency that doesn't provide wheel for macOS, installing it on macOS takes several minutes.
install-pytorch: 'false' # whether to install pytorch
```### `tddschn/install-easygraph/dummy`
With complicated caching logic removed.
See [`dummy/action.yml`](./dummy/action.yml)
```yaml
benchmark:
runs-on: ubuntu-latest # it's only tested to work on ubuntu-latest
steps:
# install-easygraph will use the the version of the `python` in your path
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-version: '3.9'- name: 'Build and install easygraph'
uses: tddschn/install-easygraph@master # or v0.1.1, or any other ref
with:
repository: 'easy-graph/Easy-Graph' # or tddschn/Easy-Graph
ref: 'pybind11' # SHA1, tag, or branch
install-lxml: 'false' # defaults to false. lxml is an optional dependency that doesn't provide wheel for macOS, installing it on macOS takes several minutes.
install-pytorch: 'false' # whether to install pytorch
install-extra-modules: 'pypi-module-1 pypi-module-2'
```## Releases and changelog
### v0.6.0
Deprecates:
- `tddschn/install-easygraph`, please use `tddschn/install-easygraph/dummy` instead.Add:
- The `extra-modules-to-install` option.### v0.5.0
**Warning**:
`tddschn/[email protected]` only works for python>=3.10 on Ubuntu, I'm still investigating the issue.For use with python <= 3.9, use `tddschn/install-easygraph/[email protected]`
which removed complicated caching logic.Deprecates:
- Building C++ extension with `boost-python`.Add:
- The `install-pytorch`, `repository`, and `ref` options.
- `install-pytorch` controls whether to install `pytorch` in the installation process
- `repository` and `ref` allow users to select other repository (e.g. a fork) and ref other than the tip of the `master` or `pybind11` branch.
- A new dummy workflow without caching logic:
`tddschn/install-easygraph/dummy`
Remove:
- The `cpp-binding-framework`, `boost-version` options.### v0.4.0
Click to expand
Add:
- macOS support when using `pybind11` as `cpp-binding-framework`.
- The `install-lxml` option.
Tested on ubuntu-latest with the following combination of options (note that `python-version` is not an option of this action):
```yaml
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10"]
cpp-binding-framework: ["pybind11"]
include:
- use-cached-build: 'true'
```
Tested on ubuntu-latest with the following combination of options (note that `python-version` is not an option of this action):
```yaml
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10"]
cpp-binding-framework: ["pybind11", "boost-python"]
use-cached-build: ["true", "false"]
```### v0.3.1
Click to expand
Fix:
- The checking out this action repository step in v0.3.0
Add:
- Caches built egg directory and dependencies under `site-packages`,
greatly speed up the action to ~23 seconds.
Without caching,
building with `pybind11` takes ~90 s, and building with `boost-python` takes over 3 minutes.
- The `use-cached-build` option to control whether to use the cache.
The caches are identified with the combination of:
- the easygraph commit SHA1 they were built against
- the python version (`sys.version`)
The release was designed to work with [easygraph](https://github.com/easy-graph/Easy-Graph) before the `pybind11` branch is merged into master (which hasn't happened when this release was created).
Tested on ubuntu-latest with the following combination of options (note that `python-version` is not an option of this action):
```yaml
matrix:
python-version: ["3.7", "3.8", "3.9"]
cpp-binding-framework: ["pybind11", "boost-python"]
use-cached-build: ["true", "false"]
```### v0.2.0
Click to expand
Changes from v0.1.1:
- Remove `easygraph-checkout-path` option
The action will delete the checked out easygraph source code after building and installing.
- Add Action branding
The release was designed to work with [easygraph](https://github.com/easy-graph/Easy-Graph) before the `pybind11` branch is merged into master (which hasn't happened when this release was created).### v0.1.1
Click to expand
The v0.1.1 release has been tested and proved to work on these configurations on ubuntu-latest:
```
python-version: ["3.7", "3.8", "3.9"]
cpp-binding-framework: ["pybind11", "boost-python"]
```
The release was designed to work with [easygraph](https://github.com/easy-graph/Easy-Graph) before the `pybind11` branch is merged into master (which hasn't happened when this release was created).## Used by
- [easygraph](https://github.com/easy-graph/Easy-Graph)
- [easygraph-bench](https://tddschn/easygraph-bench)