Skip to content

Commit

Permalink
Hello, World!
Browse files Browse the repository at this point in the history
  • Loading branch information
mariogeiger committed Nov 18, 2024
0 parents commit 0481a79
Show file tree
Hide file tree
Showing 138 changed files with 35,743 additions and 0 deletions.
50 changes: 50 additions & 0 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Upload Python Package

on:
release:
types: [published]

workflow_dispatch:


permissions:
contents: read


jobs:
deploy:
runs-on: ubuntu-latest
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}

steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: '3.x'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install hatchling twine
- name: Build & Publish cuequivariance
working-directory: cuequivariance
run: |
hatchling build
twine upload dist/*
- name: Build & Publish cuequivariance-jax
working-directory: cuequivariance_jax
run: |
hatchling build
twine upload dist/*
- name: Build & Publish cuequivariance-torch
working-directory: cuequivariance_torch
run: |
hatchling build
twine upload dist/*
54 changes: 54 additions & 0 deletions .github/workflows/static.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Build Documentation

on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: "3.11"
- name: Build sphinx
run: |
python -m pip install --upgrade pip
python -m pip install pytest
python -m pip install ./cuequivariance
python -m pip install ./cuequivariance_jax
python -m pip install ./cuequivariance_torch
pip install -r docs/requirements.txt
sphinx-build -b html docs docs/public
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: 'docs/public'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
82 changes: 82 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: Run Tests

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]


jobs:
cuequivariance:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install pytest
python -m pip install ./cuequivariance
- name: Test with pytest
run: |
pytest --doctest-modules cuequivariance
cuequivariance-jax:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install pytest
python -m pip install ./cuequivariance
python -m pip install ./cuequivariance_jax
- name: Test with pytest
run: |
pytest --doctest-modules cuequivariance_jax
cuequivariance-torch:

runs-on: self-hosted
strategy:
fail-fast: false
matrix:
python-version: ["3.12"]

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install pytest
python -m pip install torch
python -m pip install ./cuequivariance
python -m pip install ./cuequivariance_torch
python -m pip install e3nn
- name: Test with pytest
run: |
pytest --doctest-modules cuequivariance_torch
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
__pycache__
docs/api/generated/
docs/public/
docs/jupyter_execute/
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## 0.1.0 (2024-11-18)

- Beta version of cuEquivariance released.
84 changes: 84 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Contribution Rules

## Issue Tracking

* All requests for enhancements, bug fixes, or features must begin with the creation of an [issue](https://github.com/NVIDIA/cuEquivariance/issues).
* The issue request will be reviewed by the NVIDIA team and approved prior to pull request integration and code review.


## Coding Guidelines

- To maintain consistency in code formatting and style, you should run `black` or `ruff` on the modified sources.

- Avoid introducing unnecessary complexity into existing code so that maintainability and readability are preserved.

- Try to keep pull requests (PRs) as concise as possible:
- Avoid committing commented-out code.
- Wherever possible, each PR should address a single concern. If there are several otherwise-unrelated things that should be fixed to reach a desired endpoint, our recommendation is to open several PRs and indicate the dependencies in the description. The more complex the changes are in a single PR, the more time it will take to review those changes.

- Make sure that you can contribute your work to open source (no license and/or patent conflict is introduced by your code). You will need to [`sign`](#signing-your-work) your commit.

- Thanks in advance for your patience as we review your contributions; we do appreciate them!


## Pull Requests
Developer workflow for code contributions is as follows:

1. Developers must first [fork](https://help.github.com/en/articles/fork-a-repo) the [upstream](https://github.com/NVIDIA/cuEquivariance) cuEquivariance repository.

2. Git clone the forked repository and push changes to the personal fork.

```bash
git clone https://github.com/YOUR_USERNAME/YOUR_FORK.git cuequivariance
# Checkout the targeted branch and commit changes
# Push the commits to a branch on the fork (remote).
git push -u origin <local-branch>:<remote-branch>
```

3. Once the code changes are staged on the fork and ready for review, a [Pull Request](https://help.github.com/en/articles/about-pull-requests) (PR) can be [requested](https://help.github.com/en/articles/creating-a-pull-request) to merge the changes from a branch of the fork into a selected branch of upstream.
* Exercise caution when selecting the source and target branches for the PR.
* Creation of a PR creation kicks off the code review process.
* While under review, mark your PRs as work-in-progress by prefixing the PR title with [WIP].


## Signing Your Work
We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
Any contribution which contains commits that are not Signed-Off will not be accepted.

To sign off on a commit you simply use the `--signoff` (or `-s`) option when committing your changes:
```bash
$ git commit -s -m "Add cool feature."
```

This will append the following to your commit message:
```
Signed-off-by: Your Name <[email protected]>
```

#### Full text of the DCO

```
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
```

```
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.
(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.
```
Loading

0 comments on commit 0481a79

Please sign in to comment.