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

update devel from master #11

Merged
merged 303 commits into from
Mar 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
303 commits
Select commit Hold shift + click to select a range
95520cb
comment build_sphinx
louis-richard May 14, 2023
05da9d9
Create python-publish.yml
louis-richard May 14, 2023
4754c0b
Update publish-to-pypi.yml
louis-richard May 14, 2023
c260eda
fix workflows
louis-richard May 14, 2023
6d61a04
add filter to upload package only on a tagged commit
louis-richard May 14, 2023
70954c1
use nogil in numba decorator
louis-richard May 14, 2023
623a0ac
use nogil and cache in numba decorator
louis-richard May 15, 2023
ed57056
v2.3.31
louis-richard May 15, 2023
1a3df00
redifine pylint rules
louis-richard May 15, 2023
3ca5ba1
cleanup cmdclass and cmdclass options
louis-richard May 15, 2023
2ee0b9c
add pylint to pre-commit
louis-richard May 15, 2023
5edad23
PEP8 fixes
louis-richard May 15, 2023
254b7b8
PEP8 fixes
louis-richard May 16, 2023
0a3d2e9
PEP8 fixes
louis-richard May 16, 2023
6e52d83
PEP8 fixes
louis-richard May 16, 2023
b5afd0f
PEP8 fixes
louis-richard May 16, 2023
4557a69
PEP8 fixes
louis-richard May 16, 2023
47b404b
PEP8 fixes
louis-richard May 16, 2023
2204c3a
PEP8 fixes
louis-richard May 16, 2023
9bad27f
PEP8 fixes
louis-richard May 16, 2023
e21cea4
PEP8 fixes
louis-richard May 16, 2023
3587ab6
PEP8 fixes
louis-richard May 16, 2023
e5f9dbd
PEP8 fixes
louis-richard May 16, 2023
e944082
PEP8 fixes
louis-richard May 16, 2023
6761c09
PEP8 fixes
louis-richard May 16, 2023
4bfd192
use Cluster colors blue, green, red, black
louis-richard Jun 7, 2023
9f3aa0a
add routines to compute shock normal and shock parameters
louis-richard Jun 7, 2023
446c7ab
update examples
louis-richard Jun 7, 2023
c545389
fix cdfepochs.breakdown for cdflib > 1.0.0
louis-richard Jun 7, 2023
2a9593c
fix cdfepochs.breakdown for cdflib > 1.0.0
louis-richard Jun 7, 2023
12c9554
fix cdf varinq for cdflib > 1.0.0
louis-richard Jun 8, 2023
a190bf6
update examples
louis-richard Jun 8, 2023
388e037
add black code style check for jupyter notebooks
louis-richard Jun 8, 2023
22e8fef
code style fixes
louis-richard Jun 8, 2023
09b2005
fixes for cdflib > 1.0.0
louis-richard Jun 8, 2023
2847c52
fix attributes handling
louis-richard Jun 8, 2023
7e549f2
update examples
louis-richard Jun 8, 2023
594f222
enable download from https://lasp.colorado.edu/mms/sdc/public/
louis-richard Jun 8, 2023
4319509
fix tqdm progress bar size
louis-richard Jun 9, 2023
a66ee39
fix mixing numpy.ndarray and xarray.DataArray
louis-richard Jun 9, 2023
6b3ee4f
fix attributes handling
louis-richard Jun 9, 2023
9b155e0
update examples
louis-richard Jun 9, 2023
c7e1197
ignore .ipynb_checkpoints
louis-richard Jun 9, 2023
f850501
update quick-overview example and add to documentation
louis-richard Jun 9, 2023
0b57590
update with cdflib >= 1.0.0
louis-richard Jun 9, 2023
fabaa4e
v2.3.33
louis-richard Jun 9, 2023
712ea0c
update .ipynb_checkpoints
louis-richard Jun 9, 2023
b1f3d4d
update .ipynb_checkpoints
louis-richard Jun 9, 2023
238d19f
remove .ipynb_checkpoints
louis-richard Jun 9, 2023
0465eef
ignore .ipynb_checkpoints
louis-richard Jun 9, 2023
dbcffd3
remove .ipynb_checkpoints
louis-richard Jun 9, 2023
031ae86
ignore .ipynb_checkpoints
louis-richard Jun 9, 2023
7253366
ignore dist/
louis-richard Jun 9, 2023
a8bb7cb
update examples
louis-richard Jun 9, 2023
67f0db0
bug fixes
louis-richard Jun 9, 2023
ac70484
update examples
louis-richard Jun 9, 2023
eda2c5e
v2.3.34
louis-richard Jun 9, 2023
92bd5b8
add isort to pre-commit
louis-richard Jun 9, 2023
81ffaf2
ignore venv
louis-richard Jun 9, 2023
86c8395
update requirements with pip-compile
louis-richard Jun 9, 2023
9bbac1f
replace setup.py and setup.cfg with pyproject.toml (PEP 518)
louis-richard Jun 9, 2023
1ea36c0
autosort imports using isort
louis-richard Jun 9, 2023
0c07ff6
autosort imports using isort
louis-richard Jun 9, 2023
94aca2f
change bumpver settings
louis-richard Jun 9, 2023
9bee537
Bump version 2.3.35 -> 2.4.0
louis-richard Jun 9, 2023
f977360
fix missing package-data
louis-richard Jun 10, 2023
27ba921
fix import
louis-richard Jun 10, 2023
802cfcb
update numba decorator
louis-richard Jun 10, 2023
8c643ff
Bump version 2.4.0 -> 2.4.1
louis-richard Jun 10, 2023
952cb00
fix headers consistency
louis-richard Jun 10, 2023
42d97ee
fix headers consistency
louis-richard Jun 10, 2023
28da482
automate headers update for version and copyright
louis-richard Jun 10, 2023
5fdb8d7
Bump version 2.4.1 -> 2.4.2
louis-richard Jun 10, 2023
75f4aaf
add average_vdf
louis-richard Jun 14, 2023
cf40ee5
add IP shocks example
louis-richard Jun 14, 2023
d81a5b6
fix import rotate_tensor (issue #2)
louis-richard Jun 16, 2023
98125ed
cleanup pyproject.toml
louis-richard Jun 16, 2023
ece1688
Bump version 2.4.2 -> 2.4.3
louis-richard Jun 16, 2023
76679e5
fix location of FIELDNAM attribute in Dataset
louis-richard Jun 20, 2023
f6f92c2
update pre-commit
louis-richard Jul 21, 2023
7c84f20
add keys for hmfe
louis-richard Jul 21, 2023
4b9c516
add keys for hmfe
louis-richard Jul 21, 2023
b11041f
fix docstrings
louis-richard Jul 21, 2023
18e34ae
fix docstrings
louis-richard Jul 21, 2023
46510fb
new documentation
louis-richard Jul 21, 2023
ba9ea18
fix requirements
louis-richard Jul 21, 2023
7ac60cd
install requirements for docs
louis-richard Jul 21, 2023
610ae96
update docstrings
louis-richard Jul 21, 2023
50a5f5d
exclude tests from linter
louis-richard Jul 21, 2023
151eab2
add tests
louis-richard Jul 21, 2023
1859915
add tests
louis-richard Jul 21, 2023
2875281
Bump certifi from 2023.5.7 to 2023.7.22
dependabot[bot] Jul 25, 2023
cea56d0
add tests
louis-richard Jul 27, 2023
5b30bc2
fix for tests ts_skymap
louis-richard Jul 27, 2023
4d72d66
make tint optional
louis-richard Jul 27, 2023
efa6b28
Bump version 2.4.3 -> 2.4.4
louis-richard Jul 27, 2023
1363ac3
update .pre-commit.yaml
louis-richard Jul 31, 2023
1674b76
add mva_gui.py
louis-richard Jul 31, 2023
2f92e2f
add tests
louis-richard Jul 31, 2023
89187d9
add tests
louis-richard Jul 31, 2023
b1e1ec7
add tests
louis-richard Jul 31, 2023
147883f
add tests
louis-richard Jul 31, 2023
a320fc3
add tests
louis-richard Jul 31, 2023
049ad4d
add tests workflow
louis-richard Jul 31, 2023
e055c83
update tests workflow
louis-richard Jul 31, 2023
106c5db
update tests workflow
louis-richard Jul 31, 2023
9d20669
update with tests
louis-richard Jul 31, 2023
3e39a0c
update tests workflow
louis-richard Jul 31, 2023
0371615
add tests
louis-richard Jul 31, 2023
6edce96
add tests
louis-richard Jul 31, 2023
c428df3
add tests
louis-richard Jul 31, 2023
489b46a
add tests
louis-richard Jul 31, 2023
f3dd05b
add pip install ddt
louis-richard Jul 31, 2023
9ab25c0
clean up using iterators in ddt
louis-richard Jul 31, 2023
265f910
ignore test_dispersion.py in linter
louis-richard Jul 31, 2023
dff1e7c
add tests
louis-richard Jul 31, 2023
7be898c
clean up
louis-richard Jul 31, 2023
647e59a
Bump version 2.4.4 -> 2.4.5
louis-richard Jul 31, 2023
4115eea
update README.rst
louis-richard Aug 1, 2023
6b3eb04
update workflows
louis-richard Aug 1, 2023
909ab6d
update workflows
louis-richard Aug 1, 2023
b925974
Create codeql.yml
louis-richard Aug 1, 2023
091a33d
update README.rst
louis-richard Aug 1, 2023
0745f21
add compatibility with Python 3.11 and Unix (verified with CI test)
louis-richard Aug 1, 2023
801e6b1
add tests
louis-richard Aug 1, 2023
b8e7573
add tests
louis-richard Aug 1, 2023
a7f92dd
add tests
louis-richard Aug 1, 2023
dde4922
add tests
louis-richard Aug 1, 2023
a5c6f22
fix example in doctring
louis-richard Aug 1, 2023
1654fa7
Merge branch 'master' of https://github.com/louis-richard/irfu-python
louis-richard Aug 1, 2023
ba40f4d
update README.rst
louis-richard Aug 1, 2023
bec7e82
fix types
louis-richard Aug 1, 2023
a7df843
fix tests for ebsp.py
louis-richard Aug 1, 2023
e1b7b51
update workflows
louis-richard Aug 1, 2023
ad6285e
update workflows
louis-richard Aug 1, 2023
bf78394
update requirements.txt
louis-richard Aug 2, 2023
bd55d67
add tests
louis-richard Aug 2, 2023
b344498
add tests
louis-richard Aug 2, 2023
731971c
add tests
louis-richard Aug 2, 2023
f804b07
add tests and rename iso2unix -> iso86012unix
louis-richard Aug 2, 2023
dce2178
add tests
louis-richard Aug 2, 2023
db036ae
fix certifi in requirements.txt
louis-richard Aug 2, 2023
feb5b8d
add tests
louis-richard Aug 3, 2023
82ab086
add tests and improve coverage
louis-richard Aug 3, 2023
0902d82
fix bug returning empty time series
louis-richard Aug 4, 2023
3a55e88
add plasma_beta
louis-richard Aug 4, 2023
0796f55
add tests raising coverage and fix bugs
louis-richard Aug 4, 2023
91e3449
update pre-commit
louis-richard Aug 18, 2023
3768dad
add tests raising coverage and fix bugs
louis-richard Aug 18, 2023
9d4da2c
fix typo
louis-richard Aug 18, 2023
e855e5e
Bump version 2.4.6 -> 2.4.7
louis-richard Aug 18, 2023
9d1622f
fix requirements in pyproject.toml
louis-richard Aug 18, 2023
535d9d3
Bump version 2.4.7 -> 2.4.8
louis-richard Aug 18, 2023
f33de76
fix documentation modules versions
louis-richard Aug 18, 2023
4415ba7
fix python version consistency
louis-richard Aug 19, 2023
a3d01af
add tests for make_model_vdf and make_model_kappa and update docstrin…
louis-richard Aug 19, 2023
f886113
add ts_spectr with tests
louis-richard Aug 19, 2023
6f5f9d1
add tests
louis-richard Aug 19, 2023
768545b
use global and zVariable attributes to construct omni-directional spe…
louis-richard Aug 20, 2023
ce40168
improve compatibility with xarray.DataArray and xarray.Dataset and ad…
louis-richard Aug 20, 2023
bde557b
add tests for feeps routines
louis-richard Aug 20, 2023
8eca815
ignore coverage
louis-richard Aug 20, 2023
1f3ebff
update path of relocated examples notebooks
louis-richard Aug 20, 2023
5d878a2
ignore RuntimeWarnings in pytests
louis-richard Aug 20, 2023
b1de44e
fix phi shape for fast survey mode
louis-richard Aug 21, 2023
9b4bbc7
bug fixes, use numba, and tests psd_moments
louis-richard Aug 21, 2023
4706322
Merge pull request #4 from louis-richard/dependabot/pip/certifi-2023.…
louis-richard Aug 24, 2023
7fae6a5
Merge branch 'master' of https://github.com/louis-richard/irfu-python
louis-richard Aug 24, 2023
74e968a
remove unnecessary assertion
louis-richard Aug 25, 2023
5eaa7a2
add tests for some EIS routines
louis-richard Aug 25, 2023
270d731
fixes for tests
louis-richard Sep 1, 2023
a9ae557
change signature and clean code
louis-richard Sep 1, 2023
afbbfa7
add tests for pyrfu/mms/eis_combine_proton_pad.py and pyrfu/mms/rotat…
louis-richard Sep 1, 2023
2143254
update docstrings and fix logging strings
louis-richard Sep 1, 2023
fc2b60d
cleanup code
louis-richard Sep 1, 2023
01dcc42
cleanup code
louis-richard Sep 1, 2023
2d64dc0
add tests for iplasma_calc, mva, new_xyz, poynting_flux, pres_anis, vht
louis-richard Sep 1, 2023
0839de1
add tests and cleanup tests
louis-richard Sep 4, 2023
af2a3b2
add tests
louis-richard Sep 8, 2023
52b8963
fix energy type to float64
louis-richard Sep 8, 2023
b9774b9
fix bug if no files found
louis-richard Sep 8, 2023
152536d
cleanup code and improve codecoverage
louis-richard Sep 8, 2023
48d467c
Bump urllib3 from 2.0.3 to 2.0.6
dependabot[bot] Oct 2, 2023
3a265c8
Merge pull request #5 from louis-richard/dependabot/pip/urllib3-2.0.6
louis-richard Oct 3, 2023
4e61ff5
update pre-commit with requirements
louis-richard Oct 3, 2023
7130302
update version to v2.4.9
louis-richard Oct 3, 2023
19b6b9b
Merge branch 'master' of https://github.com/louis-richard/irfu-python
louis-richard Oct 3, 2023
04617c4
autoupdate pre-commit-config
louis-richard Oct 20, 2023
4a0e23f
create specific routines to list files directly from LASP SDC
louis-richard Oct 20, 2023
3648aa0
fix mms_keys.json and set dtype in tokenize.py
louis-richard Oct 20, 2023
2d3422d
switch from cdflib to pycdfpp for performace improvements and correct…
louis-richard Oct 20, 2023
5dcbf1f
update .pre-commit.yaml for black 23.11.0
louis-richard Nov 17, 2023
6467922
update requirements.txt
louis-richard Nov 17, 2023
e63bdf0
clean up and add matrix chat
louis-richard Nov 17, 2023
f984913
add compatibility for datetime64[ns] input type
louis-richard Nov 17, 2023
5765a4e
cleanup
louis-richard Nov 17, 2023
a83ebfb
cleanup
louis-richard Nov 17, 2023
7a55f31
introduce MAVEN submodule
louis-richard Nov 17, 2023
c9f7a77
fix imports
louis-richard Nov 17, 2023
52d1cac
add tests for routines to list files (either from sdc or local)
louis-richard Nov 17, 2023
16c71fc
add option to read directly from SDC using requests
louis-richard Nov 17, 2023
72d5938
Bump version 2.4.9 -> 2.4.10
louis-richard Nov 17, 2023
0d355c7
add timeout argument when using requests.get()
louis-richard Nov 17, 2023
dbb9e53
update requirements.txt and pyproject.toml. python3.8 is no longer su…
louis-richard Nov 17, 2023
69c325b
simplify requests headers
louis-richard Nov 17, 2023
a8c2daa
remove python3.8 from tests matrix
louis-richard Nov 17, 2023
0c1280d
add perpandicular and parallel ion temperature (fast/burst, full/part…
louis-richard Nov 17, 2023
bdc39a9
update pre-commit
louis-richard Nov 30, 2023
1a61bff
update example with get_data from SDC
louis-richard Nov 30, 2023
b46e147
fix bugs related to pycdfpp epoch handling
louis-richard Nov 30, 2023
26469be
Bump version 2.4.10 -> 2.4.11
louis-richard Nov 30, 2023
82ab607
update pre-commit
louis-richard Feb 6, 2024
d3f0cb9
update GitHub workflow
louis-richard Feb 9, 2024
6fcbab8
add argument to sum or average
louis-richard Feb 9, 2024
7f36627
fix bugs with new attributes structure
louis-richard Feb 9, 2024
13edf58
add plotting styles
louis-richard Feb 9, 2024
a803935
update maven.download_data with files tree
louis-richard Feb 9, 2024
007e755
Bump version 2.4.11 -> 2.4.12
louis-richard Feb 9, 2024
1ad91b4
update action to run on Node 20 instead of Node 16
louis-richard Feb 9, 2024
b33c931
update requirements.txt
louis-richard Feb 9, 2024
81d395d
update .gitignore
louis-richard Feb 9, 2024
8681b00
update .gitignore
louis-richard Feb 9, 2024
79fe539
fix plot style conflicts
louis-richard Feb 9, 2024
402b3c2
update requirements
louis-richard Feb 15, 2024
48c3c1e
fix requirements
louis-richard Feb 15, 2024
441d7e5
fix typo in numpy version
louis-richard Feb 15, 2024
543228e
update actions to run on Node 20 instead of Node 16
louis-richard Feb 15, 2024
0e38e69
Update badges with DOI
louis-richard Feb 19, 2024
3db15d1
remove pyrfu.plot.plot_sitl_overview.py
louis-richard Feb 21, 2024
4077dfb
enable choosing the reference time in generate_timeline(), and handle…
louis-richard Feb 21, 2024
b13279e
add tests for pyrf.models
louis-richard Feb 21, 2024
671808f
fix parent imports
louis-richard Feb 21, 2024
7fb3550
add tests for pyrfu.plot
louis-richard Feb 21, 2024
89b26ca
update for new signature for generate_data() and generate_ts() and fi…
louis-richard Feb 21, 2024
aea5002
update for new signature for generate_data() and generate_ts(), fix p…
louis-richard Feb 21, 2024
a585128
update pre-commit
louis-richard Mar 8, 2024
a6189e4
update colormaps
louis-richard Mar 8, 2024
70e1995
change ressource configuration structure (pyrfu.mms.config.json)
louis-richard Mar 8, 2024
7803e93
add list_files from Amazon web services (AWS) for heliocloud (experim…
louis-richard Mar 8, 2024
02cac01
fix requirements
louis-richard Mar 8, 2024
99c93af
install keyrings.alt for tests
louis-richard Mar 8, 2024
c8ed9fc
fix tests errors
louis-richard Mar 9, 2024
0da6c39
fix pylint errors
louis-richard Mar 9, 2024
6468b13
fix tests errors
louis-richard Mar 9, 2024
126c560
Bump version 2.4.12 -> 2.4.13
louis-richard Mar 9, 2024
f077e38
enable compatiblity to Python3.12
louis-richard Mar 9, 2024
9b6e764
enable compatiblity to Python3.12
louis-richard Mar 9, 2024
6f95fdb
enable compatiblity to Python3.12
louis-richard Mar 9, 2024
1a1b677
fix compatibility bugs for Python3.12
louis-richard Mar 9, 2024
db9b5cc
fix dependencies specification to match PEP508 guidelines
louis-richard Mar 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[flake8]
ignore = E203, W503
max-line-length = 88
max-complexity = 60
82 changes: 82 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ "master" ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "master" ]
schedule:
- cron: '40 21 * * 1'

jobs:
analyze:
name: Analyze
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners
# Consider using larger runners for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'python' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift' ]
# Use only 'java' to analyze code written in Java, Kotlin or both
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support

steps:
- name: Checkout repository
uses: actions/checkout@v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality


# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
30 changes: 30 additions & 0 deletions .github/workflows/publish-to-pypi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Upload Python Package

on:
release:
types: [published]

jobs:
deploy:
runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
python-version: [ '3.10' ]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build wheel twine
- name: Build and publish
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: |
python -m build .
twine upload dist/*
25 changes: 25 additions & 0 deletions .github/workflows/pylint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: pylint

on: [push]

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ '3.10' ]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -r docs/requirements.txt
python -m pip install -r requirements.txt
pip install pylint
- name: pylint
run: |
pylint --rcfile=pyproject.toml $(git ls-files '*.py')
59 changes: 59 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: CI

on: [push]

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: [ '3.9', '3.10', '3.11', '3.12']
os: [ macos-latest, windows-2019, ubuntu-latest ]

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest
pip install -r requirements.txt
pip install keyrings.alt
- name: Lint with flake8
run: |
flake8 $(git ls-files '*.py')
- name: Test with pytest
run: |
pip install pytest ddt pytest-cov sphinx pandoc
pip install -r docs/requirements.txt
pip install keyrings.alt
pytest
- name: Test with pytest (coverage + long tests)
if: matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest'
run: |
sudo apt update && sudo apt install -y texlive pandoc
pip install pytest ddt pytest-cov sphinx pandoc
pip install -r docs/requirements.txt
pip install keyrings.alt
pytest --cov=./ --cov-report=xml
- name: Check that release process is not broken
if: matrix.python-version == '3.12' && matrix.os == 'ubuntu-latest'
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.TESTPYPI_API_TOKEN }}
run: |
pip install build wheel twine
python -m build .
twine check dist/*
twine upload --repository testpypi --skip-existing dist/*
- name: Upload coverage reports to Codecov
if: matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest'
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
flags: unittests
162 changes: 162 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints


# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# 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/
.virtual_documents/
Loading
Loading