neuropsychology/NeuroKit
NeuroKit2: The Python Toolbox for Neurophysiological Signal Processing
✨ 🚀 What’s New
- For a detailed record of changes, see the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file.
- [Maintenance] Fix Github Pages modern workflow (#1175) @DerAndereJohannes
- [Maintenance] Removed local versioning from hatch (#1174) @DerAndereJohannes
- [Hotfix] Trigger Pypi update (#1166) @DominiqueMakowski
- 0.2.13 (#1120) @DominiqueMakowski
- Auto Fixed Styles (#1165) @DerAndereJohannes
- [Major] Rework the development workflow of Neurokit2 (#1156) @DerAndereJohannes
- [New] HRV: adding indices of Symbolic Dynamics (#1057) @mrosol
- + 13 more
✨ 🚀 Features & Enhancements
- [Fix] Separate out build and deploy workflows for documentation (#1177) @DerAndereJohannes
🐛 🐛 Bug Fixes
- [Fix] Separate out build and deploy workflows for documentation (#1177) @DerAndereJohannes
- [Fix] releasePR to include testpypi environment (3) (#1173) @DerAndereJohannes
- [hotfix] trigger pypi update (2) (#1172) @DominiqueMakowski
📝 📖 Documentation
- [Fix] Separate out build and deploy workflows for documentation (#1177) @DerAndereJohannes
📦 👏 Thanks to the contributors
- @DerAndereJohannes, @DominiqueMakowski, @acv132, @akshayeshenoi, @atpage, @laiamp, @mrosol, @peterhcharlton, @stelladrinkwater, @way-ze, @weiyongxu, Maciej Rosoł and vorreuth
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.2.12 (#1091) @DominiqueMakowski
- [Feature] Add new signal quality method for ECG and PPG (#1111) @peterhcharlton
- [fix] Divide by zero error in signal_fixpeaks #1116 (#1118) @hattajr
- [Fix] Fixed dead links (#1114) @Aioshiro
- [Feature] Allow `read_xdf` to read from URLs, and some typing/documentation improvements (#1117) @LebombJames
- Updated Elgendi reference in ppg_clean.py (#1104) @peterhcharlton
- Add signal tidypeaksonsets (#1106) @peterhcharlton
- + 3 more
📦 👏 Thanks to
- @Aioshiro, @DerAndereJohannes, @DominiqueMakowski, @LebombJames, @biggates, @hattajr, @me-pic and @peterhcharlton
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.2.11 (#1022) @DominiqueMakowski
- Pass kwargs from ecg_process to ecg_clean (#1079) @atpage
- [Fix] Disable HRV DFA computation on signals with less than 12 rri (#1085) @DerAndereJohannes
- Update intervals_to_peaks.py (#1086) @muellerelias
- [Fix] Replaced np.math with built-in math (#1075) @DerAndereJohannes
- [Update] changes scipy.signal.daub to PyWavelets format (#1074) @DerAndereJohannes
- [Fix] rsp_rate function (#1070) @me-pic
- + 8 more
📦 👏 Thanks to
- @DerAndereJohannes, @DominiqueMakowski, @JonasEmrich, @athatcher13, @atpage, @aweinstein, @cgastaud, @danibene, @ignatious-p, @jankwodnicki, @janwodnicki, @me-pic and @muellerelias
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.2.10 (#992) @DominiqueMakowski
- [Fix] Prevent `sparseda` method from raising `AttributeError` (#1021) @visserle
- [Feature] Codebook Generation from Documentation (#1017) @DerAndereJohannes
- [Docs] Add info about NK ECG peak detection method (#1020) @peterhcharlton
- [Feature] PPG peak detection: Add MSPTDfast algorithm (Charlton et al., 2024) (#1018) @peterhcharlton
- [Fix] GUDB name consistency (#1016) @danibene
- [Fix] All docs-build warnings and errors (#1014) @DerAndereJohannes
- + 7 more
📦 👏 Thanks to
- @DerAndereJohannes, @DominiqueMakowski, @MarcBalle, @S-N-2019, @ajb5d, @atpage, @danibene, @peterhcharlton, @visserle and Marc Balle
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.2.9 (#982) @DominiqueMakowski
- [Fix] Correctly update on Pypi
- [feature] added PPG quality assessment functionality (#987) @peterhcharlton
- [Fix] Syntax to get colormap (#991) @danibene
- [Feature] Test for stats/correlation.py (#989) @ujdcodr
📦 👏 Thanks to
- @DominiqueMakowski, @danibene, @peterhcharlton and @ujdcodr
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.2.8 (#926) @DominiqueMakowski
- [Feature] stim_events_find to retrieve multi-channel stimulus events (#976) @DerAndereJohannes
- [Fix] refactor ecg_findpeaks (#973) @danibene
- [Fix] read_acqknowledge now also imports duplicated channel names (#975) @DerAndereJohannes
- [Fix] adding sampling rate parameter to eda_intervalrelated method (#974) @tilly111
- sparsEDA integration (#966) @stasinos
- [Fix] build docs warning (#968) @danibene
- + 8 more
📦 👏 Thanks to
- @Adam-Antios, @DerAndereJohannes, @DominiqueMakowski, @JonasEmrich, @LucaCerina, @Ninebell, @birm, @danibene, @purpl3F0x, @stasinos, @tilly111 and Jonghoe Ku
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.2.7 (#901) @DominiqueMakowski
- fixed sklearn sanity checks for valid_metrics (#925) @stamate
- [Feature] Add ECG peak detection by Manikandan (2012) (#920) @DominiqueMakowski
- [Fix] `SCR_Peaks_Amplitude_Mean` should be only computed on peaks (#917) @mperreir
- [Feature] complexity_lyapunov(): more efficient method to compute LLE (#906) @DominiqueMakowski
- [Fix] eda_plot throws ValueError when the number of onsets is not the same as the number of peaks (#916) @mperreir
- [Fix] complexity_coarsegraining(): fix method (#892) @DominiqueMakowski
📦 👏 Thanks to
- @DominiqueMakowski, @mperreir and @stamate
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.2.6 (#863) @DominiqueMakowski
- [Fix] docs build warning (#898) @danibene
- [Docs] typos (#896) @danibene
- [Feature] ppg_peaks() now has artifact correction (#890) @DominiqueMakowski
- [Breaking] *_plot() method now don't accept `sampling_rate` argument
- [Breaking] for *_plot() and ecg_fixpeaks(method="neurokit") (#889) @DominiqueMakowski
- [Feature] PPG plots improvements (#883) @DominiqueMakowski
- + 7 more
📦 👏 Thanks to
- @DominiqueMakowski, @ParthaPratimBanik, @SimonLafran, @danibene and @jchromik
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.2.5 (#814) @DominiqueMakowski
- Fix/docs asyncio warning (#862) @danibene
- [Feature] HRV: Add SD/RMSSD index (Sollers, 2007) (#855) @DominiqueMakowski
- [Fix] version sklearn valid_metrics (#861) @danibene
- [Breaking] ecg_clean(): update biosppy method (#849) @DominiqueMakowski
- [Feature] EMG report (#841) @danibene
- [Fix] typo docstring eda process (#852) @danibene
- + 11 more
📦 👏 Thanks to
- @BeardedBioelectronics, @DominiqueMakowski, @Jacob-Liam-Albaugh, @ThomasGebhardt, @danibene and Thomas Gebhardt
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.2.4 (#776) @DominiqueMakowski
- [Feature] Add sparsEDA algorithm for phasic / tonic EDA decomposition (#812) @DominiqueMakowski
- [Feature] Add Angular Entropy (AngEn) that can be used to get comEDA (#811) @DominiqueMakowski
- [Docs] add facecolor argument (#810) @the-visserd
- [Feature] add EDA report with interactive plot (#792) @danibene
- [Improvement] Fixes #784 and use random generator objects rather than np.random global RNG (#793) @lciti
- [Fix] frequency-domain HRV with lombscargle given unevenly spaced data (#800) @danibene
- + 7 more
📦 👏 Thanks to
- @DominiqueMakowski, @GanshengT, @danibene, @lciti, @the-visserd, Brunnerlab and Luca Citi
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.2.3 (#749) @DominiqueMakowski
- [Fix] fix edgecase in ecg_delineate() (#775) @clastro
- Added MSPTD ppg peak detector (#768) @peterhcharlton
- Added creative commons license to documentation (#771) @peterhcharlton
- Fix ms hrv rsa + proposed fix for RSA P2T (#766) @vivile42
- [Fix] RVT Improvements (#754) @rostro36
- [Feature] add rsp_methods (basis for rsp reports) (#755) @rostro36
📦 👏 Thanks to
- @DominiqueMakowski, @clastro, @danibene, @peterhcharlton, @rostro36 and @vivile42
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.2.2 (#705) @DominiqueMakowski
- [docs] window size for locreg detrending (#747) @vasileermicioi
- [Feature] Compute RSP cycle symmetry features + new amplitude method (#746) @DominiqueMakowski
- [Feature] ECG R-Peak detection using visibility graphs (#745) @sokolmarek
- [Docs] Add example for EEG complexity analysis (#743) @DominiqueMakowski
- [data] Add eeg_resting_1min_200hz (#742) @DominiqueMakowski
- [Example] Add microstates analysis example (#739) @anshu-97
- + 19 more
📦 👏 Thanks to
- @DominiqueMakowski, @JoseAlanis, @ami-hseki, @anshu-97, @danibene, @mn5k, @richrobe, @sokolmarek and @vasileermicioi
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.2.1 (#645) @DominiqueMakowski
- [Breaking] `martinez2003` method for ECG peak detection renamed `martines2004` (#702) @peterhcharlton
- [Docs] Fix documentation of various HRV features (#698) @danibene
- [Fix] eda_peak(): Change peak detection from differentiation signal to phasic signal (#697) @Nattapong-OnePlanet
- [Docs] Fix documentation of RMSSD (#699) @danibene
- [Feature] Modify signal_interpolate for input with NaNs and extrapolation (#666) @danibene
- [Feature] Option to change interpolation rate of interbeat intervals for HRV frequency (#680) @danibene
- + 18 more
📦 👏 Thanks to
- @DominiqueMakowski, @JanCBrammer, @KSCzzZ, @Nattapong-OnePlanet, @Tam-Pham, @anshu-97, @changkun, @danibene, @jannik-gut, @luisqtr, @peterhcharlton and @rostro36
✨ 🚀 What’s New
- A [BRAND NEW WEBSITE](https://neuropsychology.github.io/NeuroKit/) with a revamped documentation, now hopefully much more useful to navigate. Check-it out: https://neuropsychology.github.io/NeuroKit/ and let us know what you think!!
- An overhaul of the [Complexity Indices](https://neuropsychology.github.io/NeuroKit/functions/complexity.html): With more than a 100 indices, NeuroKit is now the most comprehensive package to quantify chaos, entropy and fractal dimension of signals.
- Tons of other improvements and fixes ☺️
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.2.0 (#619) @DominiqueMakowski
- [Docs] Docstrings improvements (#643) @Max-ZiLiang
- [Website] Docstrings improvements (#641) @Max-ZiLiang
- [New] Website overhaul (#634) @DominiqueMakowski
- + 10 more
📦 👏 Thanks to
- @DominiqueMakowski, @Max-ZiLiang, @PierreElias, @RichardBJ, @Rvb0rob0t, @anshu-97, @danibene and @gutierrezps
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.1.6 (#579) @DominiqueMakowski
- Several bug fixes
- Replace ba output with sos for ECG filters and determine initial conditions (#612) @mscheltienne
- [Change] promac parameters exposition / doc update (#607) @levsilva
- Peaks fixes in `ppg` and `ecg` (#587) @zen-juen
- [Docs] Update signal_rate.py docstring for return param (#600) @cHemingway
- Error removed in the Readme EMG example part (#596) @MostafaFiroozi
- + 1 more
📦 👏 Thanks to
- @DominiqueMakowski, @JanCBrammer, @MostafaFiroozi, @cHemingway, @levsilva, @mscheltienne and @zen-juen
✨ New Contributors
- @MostafaFiroozi made their first contribution in https://github.com/neuropsychology/NeuroKit/pull/596
- @cHemingway made their first contribution in https://github.com/neuropsychology/NeuroKit/pull/600
- @levsilva made their first contribution in https://github.com/neuropsychology/NeuroKit/pull/607
- @mscheltienne made their first contribution in https://github.com/neuropsychology/NeuroKit/pull/612
- Full Changelog: https://github.com/neuropsychology/NeuroKit/compare/v0.1.5...v0.1.6
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.1.5 (#520) @DominiqueMakowski
- Rerun examples and tutorials (#577) @Tam-Pham
- No warning for signal_psd: default min_freq (#574) @Tam-Pham
- eeg_power() (#573) @DominiqueMakowski
- Remove unused args in hrv_time (#575) @Tam-Pham
- Noise simulation (#571) @DominiqueMakowski
- Complexity hotfixes (#567) @DominiqueMakowski
- + 15 more
📦 👏 Thanks to
- @DominiqueMakowski, @Tam-Pham, @pfilo8, @richrobe, @zen-juen and Patryk Wielopolski
📋 What's Changed
- fix fractal_higuchi by @zen-juen in https://github.com/neuropsychology/NeuroKit/pull/505
- Optimizing parameters for a list of signals by @Tam-Pham in https://github.com/neuropsychology/NeuroKit/pull/509
- Sanitize maxbeat before creating window for dfa alpha2 by @Tam-Pham in https://github.com/neuropsychology/NeuroKit/pull/512
- 0.1.4.1 by @DominiqueMakowski in https://github.com/neuropsychology/NeuroKit/pull/504
- Format `complexity` outputs by @zen-juen in https://github.com/neuropsychology/NeuroKit/pull/521
- Sanitize emg offset indices by @zen-juen in https://github.com/neuropsychology/NeuroKit/pull/526
- [Fix] _interpolate_big method from signal_fixpeaks method by @pfilo8 in https://github.com/neuropsychology/NeuroKit/pull/530
- hrv_time() does not throw an ValueError for input array with constant… by @richrobe in https://github.com/neuropsychology/NeuroKit/pull/537
- + 18 more
✨ New Contributors
- @pfilo8 made their first contribution in https://github.com/neuropsychology/NeuroKit/pull/530
- Full Changelog: https://github.com/neuropsychology/NeuroKit/compare/v0.1.4...v0.1.5
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.1.4.1 (#504) @DominiqueMakowski
- Sanitize maxbeat before creating window for dfa alpha2 (#512) @Tam-Pham
- Optimizing parameters for a list of signals (#509) @Tam-Pham
- fix fractal_higuchi (#505) @zen-juen
📦 👏 Thanks to
- @DominiqueMakowski, @Tam-Pham and @zen-juen
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- dev (#487) @DominiqueMakowski
- Add new hrv indices into hrv_time and hrv_nonlinear (#503) @Tam-Pham
- More complexity indices (#499) @zen-juen
- Fix download error when downloading `mne` datasets (#502) @zen-juen
- Fix geometric indices of HRV (#501) @Tam-Pham
- DFA fix from LRydin's fork (#490) @Tam-Pham
- convert intervals to peaks (#494) @zen-juen
- + 2 more
📦 👏 Thanks to
- @DominiqueMakowski, @LRydin, @Tam-Pham, @dragove and @zen-juen
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.1.3 (#455) @DominiqueMakowski
- Add and fix ecg_delineate features (#483) @zen-juen
- Bug fix ecg_findpeaks_rodrigues (#478) @TiagoTostas
- clean missing data and sanitize epochs column types (#470) @zen-juen
- add sd features in `eventrelated` functions (#471) @zen-juen
- Add labelling to subepochs (#468) @zen-juen
- fix epochs_end from duration of events (#461) @Tam-Pham
- + 2 more
📦 👏 Thanks to
- @DominiqueMakowski, @JanCBrammer, @SongzhouYang, @Tam-Pham, @TiagoTostas, @jukka and @zen-juen
✨ 🚀 What’s New
- See the [NEWS](https://github.com/neuropsychology/NeuroKit/blob/master/NEWS.rst) file for the changelog.
- 0.1.2 (#427) @Tam-Pham
- Optimize _ecg_findpeaks_peakdetect (#450) @jukka
- Add sub-epoch option for ECG and RSP event-related analysis (#454) @Tam-Pham
- Add myself to the list of contributors (#451) @jukka
- [feature] ecg quality method by zhao2018 (#410) @DominiqueMakowski
- Update ecg_quality.py (#439) @maxyongg
- Boxcar (#432) @jukka
- + 4 more
📦 👏 Thanks to
- @BrandonReno, @DominiqueMakowski, @JanCBrammer, @Tam-Pham, @jukka, @maxyongg, @yywangvr and @zen-juen
✨ 🚀 What’s New
- NeuroKit2 has been published (https://doi.org/10.3758/s13428-020-01516-y)!
- 0.1.0 🎉 (#389) @DominiqueMakowski
- [Fix] Fix signal_zerocrossings indexing issues (#399) @jluby
- Stop signal_fixpeaks iteration when number of artifacts stops decreasing (#400) @jukka
- [Fix] Fix offset bug in neurokit2/ecg/ecg_delineate.py (#398) @jluby
- fix error when len(candidate_offsets)==0 (#397) @6112562a
- Fix casting to np.int64 (#396) @nx10
- Fixed typo in code sample (#390) @laurague
📦 👏 Thanks to
- @6112562a, @DominiqueMakowski, @JanCBrammer, @Tam-Pham, @jluby, @jukka, @laurague, @nx10 and @zen-juen
✨ 🚀 What’s New
- 0.0.42 (#373) @Tam-Pham
- Update AUTHORS.rst (#385) @csavur
- Additional affiliation (#384) @jrepifano
- Add hrstd argument to ecg_simulate (#383) @jrepifano
- signal_sanitize() added, when non-default index for pandas series cau… (#372) @csavur
- [Fix] Pygment style for jupyter (#374) @Tam-Pham
📦 👏 Thanks to
- @DominiqueMakowski, @Tam-Pham, @csavur and @jrepifano
✨ 🚀 What’s New
- 0.0.41 (#347) @DominiqueMakowski
- input check for series when non-default index is set. (#371) @csavur
- [Feature] Add and improve microstates features (#350) @zen-juen
- [Fix] Review microstate implementations (#349) @Tam-Pham
- Update AUTHORS.rst (#348) @elaineteo2000
📦 👏 Thanks to
- @DominiqueMakowski, @JanCBrammer, @Tam-Pham, @csavur, @elaineteo2000, @sangfrois and @zen-juen
✨ 🚀 What’s New
- 0.0.40 (#322) @DominiqueMakowski
- [Fix] Code Climate (#346) @Tam-Pham
- [Feature] EEG microstates analysis (basics) (#331) @DominiqueMakowski
- [Fix] #344 with corresponding test (#345) @awwong1
- [Feature] add new ECG peak detection method (#343) @elaineteo2000
- [Feature] Dynamic RSA (#336) @Tam-Pham
- [Feature] Add new respiration rate methods (#341) @Tam-Pham
- [Features] PPG preprocessing (#339) @elaineteo2000
- + 6 more
📦 👏 Thanks to
- @1110sillabo, @DominiqueMakowski, @Tam-Pham, @awwong1, @elaineteo2000, @minsooyeo and @zen-juen
✨ 🚀 What’s New
- 0.0.39 (#289) @DominiqueMakowski
- [feature] Add Time-Frequency (#301) @Tam-Pham
- [Fix] PSD Methods (#300) @Tam-Pham
- [Fix] ecg_delineate CWT mode crash when no consecutive tp peaks found (#314) @raimonpv
- typofix_docs_examples_ecg (#318) @0reza
- [docs] Rerun all examples (#313) @zen-juen
- [Feature] add version() function to easily retrieve system info (#311) @DominiqueMakowski
- [Change] ecg_rsa becomes hrv_rsa (#308) @DominiqueMakowski
- + 12 more
📦 👏 Thanks to
- @0reza, @DominiqueMakowski, @JanCBrammer, @Tam-Pham, @awwong1, @raimonpv, @rpanderson, @zen-juen and reza
✨ 🚀 What’s New
- 0.0.38 (#258) @DominiqueMakowski
- [feature] HRV Poincaré fixes and other non-linear HRV improvements (#282) @DominiqueMakowski
- [features] Add `nk.eog_plot()` (#283) @zen-juen
- [feature] PPG process pipeline (#288) @DominiqueMakowski
- [docs] README improvements (#277) @DominiqueMakowski
- [features] Improve signal_plot() (#286) @zen-juen
- [API] API of signal_period() and signal_rate() (#276) @Tam-Pham
- Attempt to fix failing CI (#280) @hungpham2511
- + 9 more
📦 👏 Thanks to
- @DominiqueMakowski, @JanCBrammer, @Tam-Pham, @hungpham2511, @richrobe, @sangfrois and @zen-juen
✨ 🚀 What’s New
- 0.0.37 (#244) @DominiqueMakowski
- Migrate codecov to gh action (#256) @Tam-Pham
- Fixed potential bug in hrv_nonlinear.py (#252) @richrobe
- Update eda.ipynb (#251) @kassyray
- documentation action (#246) @Tam-Pham
📦 👏 Thanks to
- @DominiqueMakowski, @JanCBrammer, @Tam-Pham, @kassyray, @richrobe and @zen-juen
✨ 🚀 What’s New
- 0.0.36 (#232) @DominiqueMakowski
- Update rsp_findpeaks.py (#234) @Mitchellb16
- Exploring Github CI (#233) @Tam-Pham
📦 👏 Thanks to
- @DominiqueMakowski, @Mitchellb16, @Tam-Pham and @zen-juen
✨ What’s New
- 0.0.35 (#226) @DominiqueMakowski
- 0.0.35 (Sourcery refactored) (#228) @sourcery-ai
- 0.0.35 (Sourcery refactored) (#227) @sourcery-ai
- 0.0.34 (#221) @DominiqueMakowski
- 0.0.33 (#217) @DominiqueMakowski
- Removed unused module (#220) @vansjyo
- 0.0.32 (#212) @DominiqueMakowski
- fix variable-patches (#216) @TiagoTostas
- + 62 more
📦 Thanks to
- @DominiqueMakowski, @GanshengT, @JanCBrammer, @Tam-Pham, @TiagoTostas, @hungpham2511, @purpl3F0x, @sangfrois, @sourcery-ai, @sourcery-ai-bot, @vansjyo, @zen-juen and TANGansheng
📋 Changes
- pypi release
