Recent Releases of elapi
elapi - A hotfix release
Version 2.3.2 is almost identical to 2.3.3. Due to some bad package build, version 2.3.2 had to be yanked from PyPI. The main fix for this release is #151.
[2.3.3] - 2025-06-17
This is a hotfix release.
Fixed
- Bad PyPI publish
[2.3.2] - 2025-06-17
This is a hotfix release.
Fixed
- Newly installed elAPI, without
elapi.ymlconfiguration file aborts ( GH https://github.com/uhd-urz/elAPI/issues/151)
In collaboration with @alexander-haller.
- Python
Published by mhxion 9 months ago
elapi - The example release
[2.3.1] - 2025-05-23
This release brings some minor bug fixes and improvements.
Added
- Added
--include-team-idstobill-teams generate-table - Long-awaited examples/
Fixed
- elAPI re-installations (or new installation) would break
--helpdue to breaking click update ( GH https://github.com/fastapi/typer/discussions/1215)
Changes
- Migrated from Poetry from uv (GH #148)
Examples include contribution from @adalka and Philipp Kling. As always, in collaboration with @alexander-haller.
- Python
Published by mhxion 9 months ago
elapi - Holiday season 2024 release
[2.3.0] - 2024-12-21
This release mainly revamps and completes the bill-teams plugin that is used for billing eLabFTW usage at the
University of Heidelberg. It also addresses one important issue with third-party
plugins about version Python version mismatch.
Added
- Revamped
bill-teamsplugins withgenerate-tableandregistrycommands - Add
TXTformat support for--formatwherever--formatis supported
Fixed
- Fix response format being incorrectly fallback-ing to
TXT(GH #143) - Fix plugins using packages that use binary builds failing (GH #145)
Changes
- Improved how internal logic for
--exportacting as a both boolean and a string (e.g., a file path) - A third-party plugin that uses a virtual environment must use the same Python version as elAPI's own (GH #146)
In collaboration with @alexander-haller.
- Python
Published by mhxion about 1 year ago
elapi - End of summer 2024 release
[2.2.0] - 2024-09-04
This release brings some general bugfixes, improvements, and new library APIs.
Added
- New sub-endpoint
/users/{id}/uploads(GH #136) - Better support for third-party plugins (GH #136)
- New
pluginsconfiguration field for plugin-specific settings (GH #136) - Introduce
project_dirto plugin metadata fileelapi_plugin_metadata.yml(GH #136, 191a049) - Aggressive logging support for
elapi.loggers.add_message; addchange_logger_statethat controls logger class state (4aea161, 5a68585) - New and improved HTTP APIs: shared client support,
SimpleClient,GlobalSharedSession(GH #137) - elAPI specific user-agent string
elAPI/<elAPI version> python-httpx/<HTTPX version>(4bde6cd) - Improved
BaseFormatwithpackage_identifierattribute; better plugin formatter class support (GH #138) - Add
get_active_host_url_without_api_suffixthat complimentsget_active_host(6e42a9c) - Add new elAPI logo (4ca1f1f)
Fixed
- Fix configuration not being validated when
developer_modeis missing (GH #133) - Fix third-party plugins breaking if they used relative imports (GH #134)
Changed
- Disable
--OC/--override-configsupport fordevelopment_mode(GH #136) - All public CLI commands now use
GlobalSharedSession(GH #137) - Use
uvloopinstead of built-inasyncioevent loop forbill-teamsplugin (8c3750b); adduvloopas an optional dependency touhd-urz - Bump versions of following dependencies and optional dependencies:
richto13.8.0,tenacityto9.0,python-dateutilto2.9.0.post0
Removed
- Remove
keep_session_argumentparameter from HTTP APIs, which is replaced withshared_clientparameter (GH #137)
In collaboration with @alexander-haller.
- Python
Published by mhxion over 1 year ago
elapi - Mid-summer 2024 release
[2.1.0] - 2024-07-29
This release brings some general bugfix and improvements.
Added
- Add optional CLI argument
--highlight/-H(GH #129, 563bb4d)
Fixed
- Fix optional validation causing
TypeErrorfor when elAPI is used inside a script (GH #126) - Fix long JSON text not being shown (GH #128)
- Fix highlighted output breaking
jq(GH #127) - Fix minor bugs (GH #125)
Changed
- Use
__aclose__and__acall__for async HTTP APIs via abstract classAPIRequestinstead of__call__and__close__(9c640c3) - Always validate configuration, and validate only once (GH #129, 42e0b49)
Removed
- Remove CLI
--formattype optiontext(c5736ed)
In collaboration with @alexander-haller.
- Python
Published by mhxion over 1 year ago
elapi - Hot-patch release
[2.0.2] - 2024-07-04
Hot-fix for README.md.
Fixed
README.md(see commits: 588d8f5, 2780e1c)
[2.0.1] - 2024-07-04
Mainly a few hotfixes found during FDM Münster workshop.
Added
INFOmessage for when a plugin metadata file ending in.yamlextension is found (#120)
Fixed
- Fix elAPI plugin metadata file related issues (#118, #119)
- Fix
README.mdPyPI version badge not displaying new version
In collaboration with @alexander-haller.
- Python
Published by mhxion over 1 year ago
elapi - FDM Münster release
[2.0.0] - 2024-07-03
The first-iteration of our long-awaited 2.0. As always, in collaboration with @alexander-haller ❤️.
Added
- File path support for
--OC,--data,--headers,--query,--file(#112) - Third-party plugin support (#111)
- Third-party plugin support with virtual environments (#114)
Fixed
- Fix printing misleading success message (#35)
- Fix
bill-teamsinvolving plugin issue (#51)
Changed
- Default
timeoutis increased to90s (52)
- Python
Published by mhxion over 1 year ago
elapi - Development release: Hot-patch release
[1.0.7.dev8] - 2024-06-26
Part of an important change (making bill-teams plugin
optional !53) unfortunately did not
work as expected. We release a quick fix in this development version.
- Python
Published by alexander-haller over 1 year ago
elapi - Development release: 3rd-party plugin-ready release
[1.0.7.dev5] - 2024-06-25
The fourth development release was not the penultimate one before the final release. We now release the fifth development version. This release brings lots of bug fixes, improvements, new features and architectural changes necessary for upcoming 3rd-part plugin support.
Added
- Refactor and restructure design pattern; current design pattern observably follows "simple layered design pattern" that allows proper 3rd-party plugin support !55
- New global
option
--override-config/--OC!55 - Add support for new configuration
fields:
enable_http2,verify_ssl,timeout#55 - Add startup callback
function
cli_startup!55- Validate configuration during startup
- Add
typer.Typeroverloaded classelapi.plugins.commons.Typer!55 - Add singleton class
MinimalActiveConfigurationinelapi.configurationthat can always be used to get overloaded configuration values !55 - Make all HTTP client APIs configurable !55
- Add
generate-tablesub-command forbill-teamsplugin
Fixed
- Fix too many
INFOmessages #42 - Fix logger throwing an exception #45
- Fix configuration not being validated #30
- Fix "current" as valid endpoint ID #49
- Fix JSON input parser issue #48
Changed
- Move raw command panel to
RAW API commandspanel - Make
bill-teamsplugin optional. This plugin can only be installed withpipx install elapi[uhd-urz]!53 - Move
api.py,endpoint.pyto its own package directoryapi/ - Relocate validator classes; add
validators.pythat aggregates all necessary validators to retain backward compatibility - Increased default timeout to 30 seconds !59
- Remove default keyword arguments (
timeout) from HTTP clients
- Python
Published by alexander-haller over 1 year ago
elapi - Development release: Hot-patch release
[1.0.7.dev4] - 2024-06-06
Fourth development release before the next stable version. This is mainly a hot-patch release. Big thanks to @AlexanderHaller for discovering the critical bug in due time (not the first time of course).
Fixed
- Fix
elapi initgenerating bad configuration file (#37) - Fix
--get-locforelapi post items_types(#38)
- Python
Published by alexander-haller over 1 year ago
elapi - Development release: HeFDI Workshop release
[1.0.7.dev3] - 2024-06-04
Third development release before the next stable version. This release adds a number of improvements and bug fixes.
Added
- New
--overwriteargument for--export/-E(!42) - Add
ValidationErrorsubclassPathValidationErrorfor path related validation errors only - Add
verboseoptional parameter toProperPathclass'screatemethod for less noisy log messages (!44)
Fixed
- Fix
experimentsplugin not recognizing uppercase experiment--format/-Fname (#33)
Changed
- Version numbers will follow the following format:
Major.Minor.Patch.dev<Integer>. Previously, we were using-dev<Integer>instead of.dev<Integer>..dev<Integer>is consistent with the versioning format normalized by pip (pip show elapi). - elAPI only shows
An attempt to create directory <path> will be madewarning when<path>is a directory.
- Python
Published by alexander-haller over 1 year ago
elapi - Development release: New bill-teams plugin
[1.0.7-dev2] - 2024-04-15
Second development release before the next stable version. This release adds a number of improvements and bug fixes.
Mostly, this release introduces the new bill-teams plugin.
- Python
Published by alexander-haller over 1 year ago
elapi - Development release: FDM Workshop release
[1.0.7-dev1] - 2024-03-19
Development release. This release adds a tons of new changes and improvements.
- Python
Published by alexander-haller over 1 year ago
elapi - First release of 2024: v1.0.7
[1.0.7] - 2024-01-26
Added
Fixed
- Add warning in
README.mdabout installing elapi outside virtual environment (#11) - Fix errors not being sent to
STDERR(#10) - Fixed typos in CLI documentation
Changed
DEFAULT_EXPORT_DATA_FORMATis no longer hard-coded, and can be overloaded fromconfigurationsubmodule
- Python
Published by alexander-haller over 1 year ago
elapi - Ansible-ready release: v1.0.5
This update replaces support for .yaml configuration file with .yml. elAPI can now be run without any arguments. This update should be fully compatible with elAPI Ansible deployment at URZ.
[1.0.5] - 2023-12-07
Added
- elAPI can be run without error when run with no arguments. I.e., running elapi will show the default help message.
- New
versioncommand. - Formatter APIs (including base API
BaseFormat) now supports multiple conventional names for formats. E.g.,yamlandymlconventions forYAMLFormat.
Fixed
- Fix timeout issue (#7)
Changed
- Change default export file extension from
.yamlto.ymlto align with eLabFTW convention - Change
generate-invoice's defaultbill-teamsinformation format fromYAMLtoJSON
- Python
Published by alexander-haller over 1 year ago
elapi - elAPI first release 🎉
First stable release of elAPI!
Note
First release was actually made 2-days ago, on November 16, 2023. The first version v1.0.0 that was released in PyPI was faulty! So a quick fix was made with release v1.0.2. This release works with any Python version 3.9 and above.
[1.0.2] - 2023-11-16
Fixed
Deprecated
- Passing data as arguments to
elapi posthas been deprecated due to possible incompatibility betweentyper.Contextand Python 3.9.
[1.0.0] - 2023-11-15
Added
- Extensible architecture with support for plugins.
bill-teamsplugin to generate billing data and invoice for elabFTW teams.- Retry method for
bill-teams. show-configplugin that gives an overview of detected configuration.getandpostcommands that sendGETandPOSTrequests respectively.- Configuration overloading across three locations.
- Support for validation before sending requests.
- Logging to STDERR and log file.
- Prettified text to terminal.
Fixed
- Fix all kinds of early stage bugs. Details can be found in GitLab repository.
Deprecated
cleanupcommand.
Removed
- Storing temporary data in
/var/tmp/elapi.
- Python
Published by alexander-haller over 1 year ago