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

Prepare for the release of v0.0.18 #58

Merged
merged 334 commits into from
Dec 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
334 commits
Select commit Hold shift + click to select a range
895462c
Fix type hint
ma-sadeghi Sep 26, 2023
e808992
Define and pass kwargs separately for readability
ma-sadeghi Sep 26, 2023
d1fcfe5
Don't make new folder when saveto is None
ma-sadeghi Sep 26, 2023
f22d9a8
Fix duplicate logger
ma-sadeghi Sep 26, 2023
bd14180
Minor refactors
ma-sadeghi Sep 26, 2023
f2426af
Add offline mode (optional) to julia installer to avoid updating depe…
ma-sadeghi Sep 26, 2023
66819bd
Rename import_julia_module to import_package for clarity
ma-sadeghi Sep 26, 2023
7f52806
Add todo items
ma-sadeghi Sep 26, 2023
123a136
Set default logging level to warning
ma-sadeghi Sep 26, 2023
1310eff
Add working prototype of parallelelized circuit evolution using multi…
ma-sadeghi Sep 26, 2023
51c2f62
Remove trailing whitespaces
ma-sadeghi Sep 26, 2023
251af0c
Rename plot_eis_data to plot_impedance for clarity
ma-sadeghi Sep 27, 2023
e3bc9ac
Ensure unique random seed for each worker
ma-sadeghi Sep 27, 2023
5b94ed2
Supress Julia stdout until EquivalentCircuits implements proper logging
ma-sadeghi Sep 27, 2023
e993727
Update __main__ script based on recent changes
ma-sadeghi Sep 27, 2023
9ea19cb
Update demo_brief notebook based on recent changes
ma-sadeghi Sep 27, 2023
8595968
Update requirements
ma-sadeghi Sep 27, 2023
6b93ae5
Trim extra whitespaces in test_data.txt
ma-sadeghi Sep 27, 2023
14eaa7d
Merge pull request #29 from AUTODIAL/parallelize_circuit_evolution
ma-sadeghi Sep 27, 2023
7a3b518
Remove Pandas.jl andDataFrame.jl from dependencies
ma-sadeghi Sep 27, 2023
8bbc2af
Fix typo in notebook
ma-sadeghi Sep 27, 2023
7c80bc6
Rename add_to_PATH to add_to_path for consistency
ma-sadeghi Sep 27, 2023
579aab6
Update README based on recent major refactors
ma-sadeghi Sep 27, 2023
31b1040
Update typo in README
ma-sadeghi Sep 27, 2023
fb09cdf
Update instructions on README
ma-sadeghi Sep 27, 2023
64eb38a
Fix typo in README
ma-sadeghi Sep 27, 2023
5e38c69
Update README
ma-sadeghi Sep 28, 2023
aa23033
Fix typo
ma-sadeghi Sep 28, 2023
9e93768
Fix README
ma-sadeghi Sep 28, 2023
166054f
Add test_data.csv to assets
ma-sadeghi Sep 28, 2023
31d873a
Update setup.py dependencies
ma-sadeghi Sep 28, 2023
71ee8dc
Remove duplicate example notebook
ma-sadeghi Sep 28, 2023
7129ee6
Add CI for Linux
ma-sadeghi Sep 28, 2023
243cf79
Add click to requirements for cli support
ma-sadeghi Sep 28, 2023
d80a701
Add basic unit tests for io and backend
ma-sadeghi Sep 28, 2023
48b7d80
Add cli support for installing Julia dependencies
ma-sadeghi Sep 28, 2023
ca8e1b6
Load autoeis and backend versions during init
ma-sadeghi Sep 28, 2023
d795e8c
Add mpire to dependencies for multiprocessing
ma-sadeghi Sep 28, 2023
04eb018
Fix typo
ma-sadeghi Sep 28, 2023
8c9fb8a
Add macos and windows to ci
ma-sadeghi Sep 28, 2023
ada7f4f
Rename linux.yml to test.yml
ma-sadeghi Sep 28, 2023
4aacf1a
Merge pull request #31 from AUTODIAL/add_ci
ma-sadeghi Sep 28, 2023
6b1c673
Simplify cli installer folder hierarchy
ma-sadeghi Sep 28, 2023
3ca5e12
Implement a hack to circumvent failed imports on Windows
ma-sadeghi Sep 28, 2023
f51d9ae
Fix reference before assignment
ma-sadeghi Sep 28, 2023
9c8b65e
Add CI for nightly builds
ma-sadeghi Sep 28, 2023
dfea1aa
Handle the case where circuits dataframe is empty
ma-sadeghi Sep 28, 2023
87e1a58
Migrate to pyproject.toml from setup.py
ma-sadeghi Sep 29, 2023
b0155f4
Fix LICENSE file (was empty)
ma-sadeghi Sep 29, 2023
70e2758
Convert relative links in README to absolute so it's rendered properl…
ma-sadeghi Sep 29, 2023
3ddaed8
Update installation instruction
ma-sadeghi Sep 29, 2023
d9cf301
Make Julia automatically work with any virtualenvs
ma-sadeghi Sep 29, 2023
848c59a
Update version number
ma-sadeghi Sep 29, 2023
62d1f88
Update instructions on README
ma-sadeghi Sep 29, 2023
4abbbff
Move scripts under bin
ma-sadeghi Sep 29, 2023
360fad7
Remove unit tests for DataFrames and Pandas
ma-sadeghi Sep 29, 2023
05ced8b
Factored scatterplot size out of function
eddotman Oct 5, 2023
931ee67
Merge pull request #35 from AUTODIAL/feature/add-param-customization
ma-sadeghi Oct 5, 2023
8fb4277
Update tests to reflect recent API changes
ma-sadeghi Oct 10, 2023
a0929d7
Replace manual tests in CI workflows with pytest
ma-sadeghi Oct 10, 2023
4e26fe3
Merge pull request #37 from AUTODIAL/tests/pytest
ma-sadeghi Oct 10, 2023
2058cd3
Add CI badge to README for nightly builds [no ci]
ma-sadeghi Oct 10, 2023
61dada1
Exclude docs build artifacts from git
ma-sadeghi Nov 2, 2023
33ede84
Add csv format of the toy dataset in assets
ma-sadeghi Nov 2, 2023
2a1e4d0
Fix docstrings format
ma-sadeghi Nov 2, 2023
7088577
Fix docstrings format
ma-sadeghi Nov 2, 2023
e29bdc1
Add docstring for io module
ma-sadeghi Nov 2, 2023
ca217da
Fix false alarm warning during data preprocessing
ma-sadeghi Nov 2, 2023
fbd51aa
Add basic documentation using sphinx
ma-sadeghi Nov 2, 2023
100f98c
Exclude sphinx build artifacts from git
ma-sadeghi Nov 2, 2023
6a900f9
Make admonitions in the docs larger
ma-sadeghi Nov 2, 2023
afc7a67
Update math function
RunzeZhang123 Nov 2, 2023
3851706
Move custom css one level up to simplify organization
ma-sadeghi Nov 7, 2023
de87c1b
Add requirements.txt for building docs
ma-sadeghi Nov 7, 2023
d901d3c
Fix incorrect assignment to dataframe copy rather than view
ma-sadeghi Nov 7, 2023
716aea3
Add docstrings to modules
ma-sadeghi Nov 7, 2023
8d9684a
Customize docs style
ma-sadeghi Nov 7, 2023
3e5eb99
Add different logos for dark and light modes
ma-sadeghi Nov 7, 2023
bcfb17f
Add custom autosummary templates to avoid extra info
ma-sadeghi Nov 7, 2023
764813d
Add filler text to docs pages
ma-sadeghi Nov 7, 2023
03924a1
Change conf.py to work with recent changes
ma-sadeghi Nov 7, 2023
648b4a6
Add wipe mode to makefile to delete all build artifacts
ma-sadeghi Nov 7, 2023
683e216
Add Action to deploy docs to GitHub Pages
ma-sadeghi Nov 7, 2023
d797008
Make docs action run on demand as well
ma-sadeghi Nov 7, 2023
e425dcc
Merge pull request #39 from AUTODIAL/docs/setup-sphinx
ma-sadeghi Nov 7, 2023
81d9af1
Install build dependencies before building docs
ma-sadeghi Nov 7, 2023
9351b56
Modify version parser in conf.py to not require a working autoeis ins…
ma-sadeghi Nov 7, 2023
ffb130c
Update docs requirements
ma-sadeghi Nov 7, 2023
b403945
Install autoeis before building docs
ma-sadeghi Nov 7, 2023
847137d
Fix code lint found by ruff
ma-sadeghi Nov 7, 2023
fb5dcda
Merge pull request #43 from AUTODIAL/incorrect-math-function
ma-sadeghi Nov 10, 2023
3b7027f
Add missing jax.numpy import
ma-sadeghi Nov 13, 2023
df2d35e
Explicitly pass `saveto` arg to `perform_bayesian_inference`
ma-sadeghi Nov 13, 2023
47ef2dd
Fix `apply_heuristic_rules` to not apply filters in-place
ma-sadeghi Nov 13, 2023
729d643
Refactor print statements to use logging
ma-sadeghi Nov 13, 2023
7a02c7c
Fix spacing
ma-sadeghi Nov 13, 2023
8f68512
Expose hardcoded GEP parameters in `generate_equivalent_circuits` as …
ma-sadeghi Nov 13, 2023
7164622
Fix incorrect usage of JAX RNG keys
ma-sadeghi Nov 13, 2023
af46be5
Add white background to workflow in README
ma-sadeghi Nov 13, 2023
af3a48e
Add docstrings, remove outdated `save` arg
ma-sadeghi Nov 13, 2023
4f5b664
Add tqdm progressbar for the Bayesian inference step
ma-sadeghi Nov 13, 2023
e8a0b1c
Minor refactor
ma-sadeghi Nov 13, 2023
db1d10e
Factor a Nyquist plot out of the BI step
ma-sadeghi Nov 13, 2023
9716fbb
Fix style for consistency
ma-sadeghi Nov 13, 2023
e6e7d22
Fix docstring
ma-sadeghi Nov 13, 2023
8410079
Augment `load_eis_data` to accept column indices for more control
ma-sadeghi Nov 13, 2023
f9748dc
Set default matplotlib format to retina for sharper figures
ma-sadeghi Nov 13, 2023
4cb0f61
Fix docstring
ma-sadeghi Nov 13, 2023
4b2f671
Add `plot_nyquist` to visualization module
ma-sadeghi Nov 13, 2023
e63d46d
Remove test script from core.py
ma-sadeghi Nov 13, 2023
b2f8626
Fix style for consistency
ma-sadeghi Nov 13, 2023
05585eb
Remove unused arg from docstring
ma-sadeghi Nov 13, 2023
004df55
Remove redundant io wrappers
ma-sadeghi Nov 13, 2023
66ed9f1
Fix code lint
ma-sadeghi Nov 16, 2023
dcd755c
Remove old functions from module docstring
ma-sadeghi Nov 16, 2023
09dfacc
Fix incorrect increment logic in circuit math expressions
ma-sadeghi Nov 16, 2023
502a8a0
Add test for circuit math expressions
ma-sadeghi Nov 16, 2023
cb79d3b
Merge pull request #50 from AUTODIAL/fix-cpe
ma-sadeghi Nov 16, 2023
449c4b4
Merge branch 'develop' into refactor-bi
ma-sadeghi Nov 16, 2023
f759bf7
Remove `load_eis_data` thin wrapper over pandas.read_csv
ma-sadeghi Nov 16, 2023
68f344e
Remove loss metrics in favor of reusing those of sklearn
ma-sadeghi Nov 16, 2023
f16469f
Add sklearn to dependencies
ma-sadeghi Nov 16, 2023
fa92442
Expose core module to public interface
ma-sadeghi Nov 19, 2023
414691e
Use proper interpolation for finding ohmic resistance
ma-sadeghi Nov 19, 2023
6cc94a8
Add unit test for `find_ohmic_resistance`
ma-sadeghi Nov 19, 2023
eab97d5
Merge pull request #52 from AUTODIAL/fix_find_ohmic_resistance
ma-sadeghi Nov 19, 2023
3c1ebdb
Merge branch 'develop' into refactor-bi
ma-sadeghi Nov 19, 2023
6436654
Reuse `impedancepy_circuit` from `utils` module
ma-sadeghi Nov 19, 2023
631ff70
Rename `plot_impedance` to `plot_impedance_combo` for clarity
ma-sadeghi Nov 21, 2023
2827a16
Let `fmt` arg in `plot_nyquist` to optionally include color
ma-sadeghi Nov 21, 2023
720b95a
Add `flatten` helper to flatten nested lists
ma-sadeghi Nov 21, 2023
e95b9d1
Add bunch of helpers to `utils` module for manipulating circuit strings
ma-sadeghi Nov 21, 2023
5f0ff1b
Fix style
ma-sadeghi Nov 21, 2023
f394904
Make `find_ohmic_resistance` more robust against noisy data
ma-sadeghi Nov 21, 2023
8a21686
Loosen the tolerance for finding ohmic resistance
ma-sadeghi Nov 21, 2023
e35bbb8
Add helper to convert circuit string to function
ma-sadeghi Dec 4, 2023
49fb9a8
Simplify logic in `split_variables`
ma-sadeghi Dec 4, 2023
b6392c4
Remove unused variable
ma-sadeghi Dec 4, 2023
fe0f8ef
Fix pep8
ma-sadeghi Dec 4, 2023
67c8578
Set MAPE/MSE for complex inputs to nan until a better solution is found
ma-sadeghi Dec 4, 2023
4b55c18
Fix incorrect use of closure
ma-sadeghi Dec 4, 2023
8225b9e
Use lambda instead of eval
ma-sadeghi Dec 4, 2023
aa1bd20
Catch stringified numbers and convert to float
ma-sadeghi Dec 4, 2023
f3b0d33
Use def instead of lambda
ma-sadeghi Dec 4, 2023
f78ca06
Factor out random seed as arg for Bayesian inference
ma-sadeghi Dec 4, 2023
4b6eec6
Use int32 random seeds
ma-sadeghi Dec 4, 2023
f4ca1ef
Factor out random seed as arg for circuit generator
ma-sadeghi Dec 4, 2023
69224b6
Add visualization helper to control number of ticks
ma-sadeghi Dec 4, 2023
75a69f1
Set default arviz style to arviz-bluish
ma-sadeghi Dec 4, 2023
75f5c2c
Expose alpha as arg in `plot_nyquist`
ma-sadeghi Dec 4, 2023
63ae95d
Add missing import, fix docstrings
ma-sadeghi Dec 4, 2023
bdced43
Add helper to parse custom dataframes
ma-sadeghi Dec 4, 2023
fe13cb0
Implement generalized metrics that work with complex numbers
ma-sadeghi Dec 4, 2023
c2957e3
Add unit tests for metrics
ma-sadeghi Dec 4, 2023
05210ac
Move metrics from core to utils module
ma-sadeghi Dec 4, 2023
40b962b
Lower tolerance for `find_ohmic_resistance` in tests
ma-sadeghi Dec 4, 2023
1d03b3a
Disable unit test for missing high frequency until a robust solution …
ma-sadeghi Dec 4, 2023
e7279e7
Minor variable name refactor
ma-sadeghi Dec 4, 2023
4ee99ab
Expose ax as optional arg for `plot_impedance_combo`
ma-sadeghi Dec 4, 2023
6594fb6
Use decaying exponential curve fit for finding ohmic resistance
ma-sadeghi Dec 4, 2023
981748a
Simplify logic in `preprocess_impedance_data`
ma-sadeghi Dec 4, 2023
0f6ff50
Use unique seed for each process when operating in parallel mode
ma-sadeghi Dec 4, 2023
758441a
Refactor `perform_full_analysis` based on recent refactors
ma-sadeghi Dec 4, 2023
a08501c
Archive old BI function as `perform_bayesian_inference_legacy`
ma-sadeghi Dec 4, 2023
d8813a5
Add helper to fit circuit parameters given circuit string
ma-sadeghi Dec 4, 2023
a629968
Refactor utils unit tests for clarity
ma-sadeghi Dec 4, 2023
096cfe1
Add unit test for `fit_circuit_parameters`
ma-sadeghi Dec 4, 2023
23aa840
Make `find_ohmic_resistance` more robust
ma-sadeghi Dec 5, 2023
9e00ced
Update `fit_circuit_parameters` to accept p0 either as array or dict
ma-sadeghi Dec 5, 2023
c2cfe15
Add new `perform_bayesian_inference`, not yet working
ma-sadeghi Dec 10, 2023
910b3b9
Add function to convert AutoEIS circuit strings to impedance.py format
ma-sadeghi Dec 10, 2023
c21f74b
Add functions to initialize prior, and update prior from posterior
ma-sadeghi Dec 10, 2023
3bc42b8
Add missing imports
ma-sadeghi Dec 10, 2023
a313883
Add flexoki theme colors
ma-sadeghi Dec 10, 2023
da19947
Override print with rich.print
ma-sadeghi Dec 10, 2023
4ee0eaa
Add seaborn to requirements
ma-sadeghi Dec 10, 2023
4bd79e9
Use 2 log points as std for initial log-normal priors (instead of 1)
ma-sadeghi Dec 12, 2023
6a7209c
Add support finite-space Warburg element
ma-sadeghi Dec 12, 2023
38bc2b7
Disable duplicate grid for plots with double y axes
ma-sadeghi Dec 12, 2023
82d4b51
Use 500 warmup/samples instead of 1000 for MCMC chains
ma-sadeghi Dec 12, 2023
babf23e
Move old functions to legacy.py until missing functionalities are ported
ma-sadeghi Dec 12, 2023
d8d4082
Refactor `capacitance_filter` to work with new circuits dataframe format
ma-sadeghi Dec 12, 2023
ec93ffd
Add pyparsing to requirements
ma-sadeghi Dec 14, 2023
029bd90
Add function to parse parameters from EquivalentCircuits.jl output
ma-sadeghi Dec 14, 2023
42e3b1d
Add helpers to streamline finding the ohmic resistor(s)
ma-sadeghi Dec 14, 2023
95a1873
Add basic circuit string validator
ma-sadeghi Dec 14, 2023
ee17dc4
Refactor generating mathematical expression for circuits
ma-sadeghi Dec 14, 2023
c8b01e2
Remove old circuit parser
ma-sadeghi Dec 14, 2023
e624e22
Minor refactor for conciseness
ma-sadeghi Dec 14, 2023
c90a8cd
Add component type validation to circuit validator
ma-sadeghi Dec 14, 2023
724cffd
Major refactor of circuit parser
ma-sadeghi Dec 14, 2023
f2d451a
Major refactor of circuit utils
ma-sadeghi Dec 15, 2023
88e117a
Add unit tests for circuit utils
ma-sadeghi Dec 15, 2023
6c3757c
Remove redundant circuit utils
ma-sadeghi Dec 15, 2023
e0da7ef
Fix incorrect API calls in utils tests
ma-sadeghi Dec 15, 2023
ceab066
Cover more cases in `test_find_ohmic_resistors`
ma-sadeghi Dec 15, 2023
897949c
Make `capacitance_filter` to not operate in-place
ma-sadeghi Dec 15, 2023
19d4bfa
Refactor `series_filter` for readability and conciseness
ma-sadeghi Dec 15, 2023
ca0c6ce
Rename `find_` to `compute_ohmic_resistance` for consistency
ma-sadeghi Dec 16, 2023
7c5ffd2
Refactor `split_components` for readability and conciseness
ma-sadeghi Dec 16, 2023
94bacea
Fix pep8 compliance
ma-sadeghi Dec 16, 2023
eba2a5c
Refactor `ohmic_resistance_filter` for readability and conciseness
ma-sadeghi Dec 16, 2023
61715d5
Move `find_series_elements` to utils
ma-sadeghi Dec 16, 2023
0006ad4
Add `group_parameters_by_component` helper function
ma-sadeghi Dec 16, 2023
3f1176c
Add `parse_parameter_type` and `parse_parameter_component` helper fun…
ma-sadeghi Dec 16, 2023
1eac71b
Add unit test for `find_series_elements`
ma-sadeghi Dec 16, 2023
f90a2cb
Ensure `find_series_elements` always returns a list of individual ele…
ma-sadeghi Dec 16, 2023
4495f3c
Merge `parse_parameter_type/component` into a single function
ma-sadeghi Dec 16, 2023
bad218a
Add `parse_component` helper function
ma-sadeghi Dec 16, 2023
9b7bdda
Add helper function to validate parameter strings
ma-sadeghi Dec 16, 2023
4c34fde
Add function to tabulate summary statistics of MCMC chains
ma-sadeghi Dec 19, 2023
4a5e052
Add function to find identical rows in a 2D array
ma-sadeghi Dec 19, 2023
318db74
Add decorator to timeout long-running functions
ma-sadeghi Dec 19, 2023
cdb476a
Add function to check if two circuits are equivalent
ma-sadeghi Dec 19, 2023
6274d32
Timeout `fit_circuit_parameters` after 20 seconds (-> diverged)
ma-sadeghi Dec 19, 2023
8800e97
Refactor `parse_circuit_dataframe` for readability and conciseness
ma-sadeghi Dec 19, 2023
29a64b6
Archive more functions under legacy.py
ma-sadeghi Dec 19, 2023
178c70a
Use CPU by default, GPU is slower on EIS datasets
ma-sadeghi Dec 19, 2023
10238e4
Deprecate `saveto` arg in `generate_equivalent_circuits`
ma-sadeghi Dec 19, 2023
a671472
Refactor complex heuristic filters into `merge_identical_circuits`
ma-sadeghi Dec 19, 2023
95c443a
Update `apply_heuristic_filters` to use the refactored methods
ma-sadeghi Dec 19, 2023
cc5750b
Expose `num_warmup`, `num_samples`, and `progress_bar` in `perform_ba…
ma-sadeghi Dec 19, 2023
26749a1
Refactor demo notebook based on new API
ma-sadeghi Dec 19, 2023
fabc79e
Cover more cases in `find_series_elements` unit test
ma-sadeghi Dec 19, 2023
4ebb87c
Archive `generate_mathematical_expression` in legacy.py
ma-sadeghi Dec 19, 2023
4e18244
Remove old helper functions
ma-sadeghi Dec 19, 2023
4a4d1ab
Remove detailed demo notebook (one demo enough!)
ma-sadeghi Dec 19, 2023
ff00a00
Remove unused function
ma-sadeghi Dec 19, 2023
1a0cc2d
Fix a bug in `circuit_complexity` (account for '-' in circuit string)
ma-sadeghi Dec 19, 2023
ae0f578
Add unit test for `circuit_complexity`
ma-sadeghi Dec 19, 2023
437d4b2
Update demo notebook
ma-sadeghi Dec 19, 2023
c9dea5e
Make `plot_impedance_combo` tight layout
ma-sadeghi Dec 19, 2023
0d66955
Cover more edge cases in `circuit_complexity` unit test
ma-sadeghi Dec 19, 2023
766de84
Update unit tests based on recent API changes
ma-sadeghi Dec 19, 2023
2c479c7
Make `compute_ohmic_resistance` more robust when high frequency data …
ma-sadeghi Dec 19, 2023
0f763e6
Identify Python shell vs notebook more robustly
ma-sadeghi Dec 19, 2023
b4183fd
Fix docstrings
ma-sadeghi Dec 19, 2023
8f6754e
Only apply timeout on non-Windows OS
ma-sadeghi Dec 19, 2023
168b19d
Remove unused imports
ma-sadeghi Dec 19, 2023
5b5dfc5
Add TODO item
ma-sadeghi Dec 19, 2023
7ba1500
Update `perform_full_analysis` to work with new API
ma-sadeghi Dec 19, 2023
47bd642
Update documentation and README based on API changes
ma-sadeghi Dec 19, 2023
7536751
Rerun example notebook
ma-sadeghi Dec 19, 2023
e21aaca
Merge pull request #48 from AUTODIAL/refactor-bi
ma-sadeghi Dec 19, 2023
0ca3045
Remove thin IO wrappers
ma-sadeghi Dec 19, 2023
372c00a
Add helper functions to load a test dataset
ma-sadeghi Dec 19, 2023
e86d474
Use the new `load_test_dataset` throughout
ma-sadeghi Dec 19, 2023
c346399
Add assets folder with a test dataset
ma-sadeghi Dec 19, 2023
8964d5c
Add unit tests for `get_assets_path` and `load_test_dataset`
ma-sadeghi Dec 19, 2023
a89e81e
Merge pull request #57 from AUTODIAL/feature/datasets
ma-sadeghi Dec 19, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Deploy Documentation

on:
push:
branches:
- main
workflow_dispatch:

jobs:
deploy-docs:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: "Set up Python"
uses: actions/setup-python@v4
with:
python-version: '3.10'
cache: pip
- name: "Install AutoEIS"
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install . --no-deps

# Build the documentation
- name: Build the documentation
run: |
pip install -r doc/requirements.txt
cd doc
make html

# Push the documentation's HTML to github-pages
- name: GitHub Pages action
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./doc/_build/html
45 changes: 45 additions & 0 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Nightly

on:
schedule:
# Run (on default branch only) at 05:00 (hr:mm) UTC -> 12am EST
- cron: "0 5 * * *"
workflow_dispatch:

jobs:
test:
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
strategy:
matrix:
julia-version: ['1.9']
python-version: ['3.9', '3.10', '3.11']
os: [ubuntu-latest, macos-latest, windows-latest]

steps:
- uses: actions/checkout@v4
- name: "Set up Julia"
uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.julia-version }}
- name: "Cache Julia"
uses: julia-actions/cache@v1
with:
cache-name: ${{ matrix.os }}-test-${{ matrix.julia-version }}-${{ matrix.python-version }}
cache-packages: false
- name: "Set up Python"
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: "Install AutoEIS"
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install . --no-deps
python -m autoeis install
- name: "Run tests"
run: |
pytest .
41 changes: 41 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Tests

on: pull_request

jobs:
test:
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
strategy:
matrix:
julia-version: ['1.9']
python-version: ['3.10']
os: [ubuntu-latest, macos-latest, windows-latest]

steps:
- uses: actions/checkout@v4
- name: "Set up Julia"
uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.julia-version }}
- name: "Cache Julia"
uses: julia-actions/cache@v1
with:
cache-name: ${{ matrix.os }}-test-${{ matrix.julia-version }}-${{ matrix.python-version }}
cache-packages: false
- name: "Set up Python"
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: "Install AutoEIS"
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install . --no-deps
python -m autoeis install
- name: "Run tests"
run: |
pytest .
168 changes: 168 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
# 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/
doc/_build/
doc/generated/

# 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/

# AutoEIS-generated files
examples/**/*.png
examples/**/*.csv
examples/**/*.txt
results*/
Loading