Skip to content

Commit 2acdade

Browse files
timkpaineAdamGlusteinjacarr4smichael83ptomecek
committed
Initialize project for public release
Co-authored-by: Adam G <[email protected]> Co-authored-by: Jacob C <[email protected]> Co-authored-by: Michael S <[email protected]> Co-authored-by: Pascal T <[email protected]> Co-authored-by: Rob A <[email protected]> Co-authored-by: Stephen M <[email protected]> Co-authored-by: Tim P <[email protected]> Signed-off-by: Tim P <[email protected]>
0 parents  commit 2acdade

File tree

549 files changed

+111500
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

549 files changed

+111500
-0
lines changed

.bumpversion.cfg

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
[bumpversion]
2+
current_version = 0.1.0
3+
commit = True
4+
tag = False
5+
6+
[bumpversion:file:csp/__init__.py]
7+
search = __version__ = "{current_version}"
8+
replace = __version__ = "{new_version}"
9+
10+
[bumpversion:file:setup.py]
11+
search = version="{current_version}"
12+
replace = version="{new_version}"
13+
14+
[bumpversion:file:pyproject.toml]
15+
search = version = "{current_version}"
16+
replace = version = "{new_version}"
17+
18+
[bumpversion:file:CMakeLists.txt]
19+
search = project(csp VERSION "{current_version}")
20+
replace = project(csp VERSION "{new_version}")
21+

.gitattributes

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
examples/* linguist-documentation
2+
docs/* linguist-documentation
3+
*.ipynb linguist-documentation
4+
Makefile linguist-documentation
5+
6+
* text=auto eol=lf

.github/CODE_OF_CONDUCT.md

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, personal appearance, race, religion, or sexual identity
10+
and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment for our
18+
community include:
19+
20+
* Demonstrating empathy and kindness toward other people
21+
* Being respectful of differing opinions, viewpoints, and experiences
22+
* Giving and gracefully accepting constructive feedback
23+
* Accepting responsibility and apologizing to those affected by our mistakes,
24+
and learning from the experience
25+
* Focusing on what is best not just for us as individuals, but for the
26+
overall community
27+
28+
Examples of unacceptable behavior include:
29+
30+
* The use of sexualized language or imagery, and sexual attention or
31+
advances of any kind
32+
* Trolling, insulting or derogatory comments, and personal or political attacks
33+
* Public or private harassment
34+
* Publishing others' private information, such as a physical or email
35+
address, without their explicit permission
36+
* Other conduct which could reasonably be considered inappropriate in a
37+
professional setting
38+
39+
## Enforcement Responsibilities
40+
41+
Community leaders are responsible for clarifying and enforcing our standards of
42+
acceptable behavior and will take appropriate and fair corrective action in
43+
response to any behavior that they deem inappropriate, threatening, offensive,
44+
or harmful.
45+
46+
Community leaders have the right and responsibility to remove, edit, or reject
47+
comments, commits, code, wiki edits, issues, and other contributions that are
48+
not aligned to this Code of Conduct, and will communicate reasons for moderation
49+
decisions when appropriate.
50+
51+
## Scope
52+
53+
This Code of Conduct applies within all community spaces, and also applies when
54+
an individual is officially representing the community in public spaces.
55+
Examples of representing our community include using an official e-mail address,
56+
posting via an official social media account, or acting as an appointed
57+
representative at an online or offline event.
58+
59+
## Enforcement
60+
61+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62+
reported to the community leaders responsible for enforcement at
63+
64+
All complaints will be reviewed and investigated promptly and fairly.
65+
66+
All community leaders are obligated to respect the privacy and security of the
67+
reporter of any incident.
68+
69+
## Enforcement Guidelines
70+
71+
Community leaders will follow these Community Impact Guidelines in determining
72+
the consequences for any action they deem in violation of this Code of Conduct:
73+
74+
### 1. Correction
75+
76+
**Community Impact**: Use of inappropriate language or other behavior deemed
77+
unprofessional or unwelcome in the community.
78+
79+
**Consequence**: A private, written warning from community leaders, providing
80+
clarity around the nature of the violation and an explanation of why the
81+
behavior was inappropriate. A public apology may be requested.
82+
83+
### 2. Warning
84+
85+
**Community Impact**: A violation through a single incident or series
86+
of actions.
87+
88+
**Consequence**: A warning with consequences for continued behavior. No
89+
interaction with the people involved, including unsolicited interaction with
90+
those enforcing the Code of Conduct, for a specified period of time. This
91+
includes avoiding interactions in community spaces as well as external channels
92+
like social media. Violating these terms may lead to a temporary or
93+
permanent ban.
94+
95+
### 3. Temporary Ban
96+
97+
**Community Impact**: A serious violation of community standards, including
98+
sustained inappropriate behavior.
99+
100+
**Consequence**: A temporary ban from any sort of interaction or public
101+
communication with the community for a specified period of time. No public or
102+
private interaction with the people involved, including unsolicited interaction
103+
with those enforcing the Code of Conduct, is allowed during this period.
104+
Violating these terms may lead to a permanent ban.
105+
106+
### 4. Permanent Ban
107+
108+
**Community Impact**: Demonstrating a pattern of violation of community
109+
standards, including sustained inappropriate behavior, harassment of an
110+
individual, or aggression toward or disparagement of classes of individuals.
111+
112+
**Consequence**: A permanent ban from any sort of public interaction within
113+
the community.
114+
115+
## Attribution
116+
117+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118+
version 2.0, available at
119+
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
120+
121+
Community Impact Guidelines were inspired by [Mozilla's code of conduct
122+
enforcement ladder](https://github.com/mozilla/diversity).
123+
124+
[homepage]: https://www.contributor-covenant.org
125+
126+
For answers to common questions about this code of conduct, see the FAQ at
127+
https://www.contributor-covenant.org/faq. Translations are available at
128+
https://www.contributor-covenant.org/translations.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Desktop (please complete the following information):**
27+
- OS: [e.g. iOS]
28+
- Browser [e.g. chrome, safari]
29+
- Version [e.g. 22]
30+
31+
**Smartphone (please complete the following information):**
32+
- Device: [e.g. iPhone6]
33+
- OS: [e.g. iOS8.1]
34+
- Browser [e.g. stock browser, safari]
35+
- Version [e.g. 22]
36+
37+
**Additional context**
38+
Add any other context about the problem here.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Setup Caches
2+
description: 'Ensure various caches are setup like homebrew, vcpkg, ccache, etc'
3+
4+
inputs:
5+
cibuildwheel:
6+
type: choice
7+
description: "cibuildwheel run"
8+
options:
9+
- 'cp38'
10+
- 'cp39'
11+
- 'cp310'
12+
- 'cp311'
13+
default: 'cp39'
14+
15+
runs:
16+
using: 'composite'
17+
steps:
18+
# Setup CCache
19+
- name: Setup ccache
20+
uses: hendrikmuhs/[email protected]
21+
22+
- name: Setup ccache in shell
23+
shell: bash
24+
run: echo 'PATH=/usr/lib/ccache:'"$PATH" >> $GITHUB_ENV
25+
if: ${{ runner.os != 'Windows' }}
26+
# TODO windows
27+
28+
################
29+
# Homebrew Cache
30+
- name: Setup homebrew cache
31+
uses: actions/cache@v4
32+
with:
33+
path: |
34+
~/Library/Caches/Homebrew/boost--*
35+
~/Library/Caches/Homebrew/downloads/*--boost-*
36+
key: brew-${{ hashFiles('CMakeLists.txt') }}
37+
restore-keys: brew-
38+
if: ${{ runner.os == 'macOS' }}
39+
40+
################
41+
# vcpkg Cache
42+
- name: Setup vcpkg cache in shell
43+
shell: bash
44+
run: |
45+
mkdir -p ~/vcpkg_cache
46+
mkdir -p ~/vcpkg_download_cache
47+
echo "VCPKG_DEFAULT_BINARY_CACHE=$HOME/vcpkg_cache" >> $GITHUB_ENV
48+
echo "VCPKG_DOWNLOADS=$HOME/vcpkg_download_cache" >> $GITHUB_ENV
49+
if: ${{ runner.os != 'Windows' }}
50+
51+
- name: Setup vcpkg cache (Linux)
52+
uses: actions/cache@v4
53+
with:
54+
path: |
55+
~/vcpkg_cache
56+
~/vcpkg_download_cache
57+
key: vcpkg-${{ runner.os }}-${{ hashFiles('vcpkg.json') }}
58+
restore-keys: vcpkg-${{ runner.os }}
59+
if: ${{ runner.os != 'Windows' }}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Set up dependencies
2+
description: 'Install dependencies per platform'
3+
4+
inputs:
5+
cibuildwheel:
6+
type: choice
7+
description: "cibuildwheel run"
8+
options:
9+
- 'cp38'
10+
- 'cp39'
11+
- 'cp310'
12+
- 'cp311'
13+
default: 'cp39'
14+
15+
runs:
16+
using: 'composite'
17+
steps:
18+
################
19+
# Dependencies #
20+
################
21+
- name: Install python dependencies
22+
shell: bash
23+
run: make requirements
24+
if: ${{ runner.os == 'Linux' }} # skip on linux, in docker
25+
26+
################
27+
# Linux # NOTE: skip for manylinux image
28+
# - name: Linux init steps
29+
# shell: bash
30+
# run: make dependencies-vcpkg
31+
# if: ${{ runner.os == 'Linux' }} # skip
32+
33+
################
34+
# Mac
35+
- name: Mac init steps
36+
shell: bash
37+
run: make dependencies-mac
38+
if: ${{ runner.os == 'macOS' }}
39+
40+
# - name: Setup vcpkg cache in shell
41+
# shell: bash
42+
# run: |
43+
# which -a gcc-12
44+
# echo "CC=/usr/local/bin/gcc-12" >> $GITHUB_ENV
45+
# echo "CMAKE_C_COMPILER=/usr/local/bin/gcc-12" >> $GITHUB_ENV
46+
# echo "CXX=/usr/local/bin/g++-12" >> $GITHUB_ENV
47+
# echo "CMAKE_CXX_COMPILER=/usr/local/bin/g++-12" >> $GITHUB_ENV
48+
# if: ${{ runner.os == 'macOS' }}
49+
50+
################
51+
# Windows
52+
- name: Windows init steps (vc143)
53+
shell: bash
54+
run: make dependencies-win
55+
env:
56+
VCPKG_DEFAULT_TRIPLET: x64-windows
57+
VCPKG_PLATFORM_TOOLSET: v143
58+
if: ${{ runner.os == 'Windows' }}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Setup Python
2+
description: 'Ensure python is installed, and setup pypi caching'
3+
4+
inputs:
5+
version:
6+
type: choice
7+
description: "Version to install"
8+
options:
9+
- '3.8'
10+
- '3.9'
11+
- '3.10'
12+
- '3.11'
13+
default: '3.9'
14+
15+
runs:
16+
using: 'composite'
17+
steps:
18+
- name: Setup pip cache
19+
uses: actions/cache@v4
20+
with:
21+
path: ~/.cache/pip
22+
key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }}
23+
restore-keys: |
24+
${{ runner.os }}-pip-
25+
26+
- name: Set up Python ${{ inputs.version }}
27+
uses: actions/setup-python@v5
28+
with:
29+
python-version: ${{ inputs.version }}
30+
cache: "pip"
31+
cache-dependency-path: 'pyproject.toml'
32+
33+
- name: Install cibuildwheel
34+
shell: bash
35+
run: pip install cibuildwheel==2.11.2

.github/dependabot.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"

0 commit comments

Comments
 (0)