Giter Club home page Giter Club logo

flamegpu2-wheelhouse's Introduction

FLAME GPU 2 Wheelhouse

Repository for generating and hosting a python wheelhouse, for non pypi compliant wheels, for simpler installation of pyflamegpu.

main contains:

  • scripts/get_release_json.py - uses gh to query the FLAMEGPU/FLAMEGPU2 repository for releases and their assets, storing to JSON on disk

  • scripts/build_wheelhouse.py - Generate a html files compliant with pip install's -f, --find-links <url> & --extra-index-url <url> options from the previously stored JSON. Note --index-url is not supported, as the index does not include other non-standard python dependencies (i.e. astpretty).

    --extra-index-url <url>     Extra URLs of package indexes to use in addition to --index-url. Should follow the same
                                rules as --index-url.
    -f, --find-links <url>      If a URL or path to an html file, then parse for links to archives such as sdist
                                (.tar.gz) or wheel (.whl) files. If a local path or file:// URL that's a directory, then
                                look for archives in the directory listing. Links to VCS project URLs are not supported.
    

Via GitHub actions, these scripts can be executed, and the resulting HTML file(s) deployed to gh pages, making it publicly accessible on the internet.

Hosted at https://whl.flamegpu.com.

Dependencies

  • python3 (>= 3.6)
  • gh, with sufficient privileges
  • Internet connection

Usage

# via gh, get release and asset info, storing into pyflamegpu.json
./scripts/get_release_json.py pyflamegpu.json
# Generate html containing links to each gh hosted wheel, into _build
./scripts/builds_wheelhouse.py -i pyflamegpu.json -o sample/wheelhouse

It is then possible to install pyflamegpu and specific versions via pip using -f, --find-links <url> or --extra-index-url <url>

I.e. Using the version hosted at whl.flamegpu.com via --extra-index-url

# Install the "newest" version, so most recent with newest CUDA and with visualiastion, via -f
python3 -m pip install --extra-index-url https://whl.flamegpu.com/whl/ pyflamegpu
# Install a specific version, with the most recent CUDA available and with visualisation
python3 -m pip install --extra-index-url https://whl.flamegpu.com/whl/ pyflamegpu==2.0.0rc0
# Install the most recent non-visualisation build, using a specific cuda version, in this case CUDA 11.2
python3 -m pip install --extra-index-url https://whl.flamegpu.com/whl/cuda112/ pyflamegpu
# Install the most recent visualisation build, using a specific cuda version, in this case CUDA 11.0
python3 -m pip install --extra-index-url https://whl.flamegpu.com/whl/cuda110-vis/ pyflamegpu

Or using the version hosted at whl.flamegpu.com via -f, --find-links

# Install the "newest" version, so most recent with newest CUDA and with visualiastion, via -f
python3 -m pip install -f https://whl.flamegpu.com/whl/pyflamegpu/ pyflamegpu
# Install a specific version, with the most recent CUDA available and with visualisation
python3 -m pip install -f https://whl.flamegpu.com/whl/pyflamegpu/ pyflamegpu==2.0.0rc0
# Install the most recent non-visualisation build, using a specific cuda version, in this case CUDA 11.2
python3 -m pip install -f https://whl.flamegpu.com/whl/cuda112/pyflamegpu/ pyflamegpu
# Install the most recent visualisation build, using a specific cuda version, in this case CUDA 11.0
python3 -m pip install -f https://whl.flamegpu.com/whl/cuda110-vis/pyflamegpu/ pyflamegpu

Or using a local copy of the wheelhouse via --extra-index-url

# Install the "newest" version, so most recent with newest CUDA and with visualiastion, via -f
python3 -m pip install --extra-index-url sample/wheelhouse/whl/ pyflamegpu
# Install a specific version, with the most recent CUDA available and with visualisation
python3 -m pip install --extra-index-url sample/wheelhouse/whl/ pyflamegpu==2.0.0rc0
# Install the most recent non-visualisation build, using a specific cuda version, in this case CUDA 11.2
python3 -m pip install --extra-index-url sample/wheelhouse/whl/cuda112/ pyflamegpu
# Install the most recent visualisation build, using a specific cuda version, in this case CUDA 11.0
python3 -m pip install --extra-index-url sample/wheelhouse/whl/cuda110-vis/ pyflamegpu

Or using a local copy of the wheelhouse via -f, --find-links

# Install the "newest" version, so most recent with newest CUDA and with visualiastion, via -f
python3 -m pip install -f sample/wheelhouse/whl/pyflamegpu/ pyflamegpu
# Install a specific version, with the most recent CUDA available and with visualisation
python3 -m pip install -f sample/wheelhouse/whl/pyflamegpu/ pyflamegpu==2.0.0rc0
# Install the most recent non-visualisation build, using a specific cuda version, in this case CUDA 11.2
python3 -m pip install -f sample/wheelhouse/whl/cuda112/pyflamegpu/ pyflamegpu
# Install the most recent visualisation build, using a specific cuda version, in this case CUDA 11.0
python3 -m pip install -f sample/wheelhouse/whl/cuda110-vis/pyflamegpu/ pyflamegpu

CI

The included ci workflow runs the included scripts, and on certain events deploys to gh pages.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.