Releases: fgcz/bfabricPy
Releases · fgcz/bfabricPy
1.13.6
Added
Entity.find_by
has new parametermax_results
.
Changed
bfabric_read.py
prints non-output information exclusively through logger and does not restrict entity types anymore.bfabric_delete.py
accepts multiple ids at once and does not restrict entity types anymore.- Both engines raise a
BfabricRequestError
if the endpoint was not found.
Removed
bfabric.endpoints
list is deleted, since it was out of date and generally not so useful.
1.13.5
Added
- The
Bfabric
instance is now pickleable. - Entities mapping:
- Add
Entity.id
andEntity.web_url
properties. - Add
Entity.__getitem__
andEntity.get
to access fields from the data dictionary directly. - Add
Entity.find_by
to find entities by a query. - More types and relationships
- Relationships defer imports to descriptor call, i.e. circular relationships are possible now.
HasOne
andHasMany
allow definingoptional=True
to indicate fields which can be missing under some circumstances.
- Add
- Add
nodelist
column and application name tobfabric_list_not_available_proteomics_workunits.py
output.
Changed
Entity.find_all
supports more than 100 IDs now by using the experimental MultiQuery API.
1.13.4
Added
- Add
Workunit
,Parameter
, andResource
entities. - Add concept of has_many and has_one relationships to entities.
bfabric_slurm_queue_status.py
to quickly check slurm queue status.Bfabric.save
providesmethod
which can be set tocheckandinsert
for specific use cases.
Changed
- Most messages are now logged to debug level.
- The old verbose version information is now always logged, to INFO level, since it could entail useful information for error reporting.
1.13.3
Added
- Flask
- New endpoint
GET /config/remote_base_url
for testing
- New endpoint
Changed
- Flask
- Simplify logging by using loguru only.
- Simplified setup logic since the production use case should use a WSGI server.
Fixed
bfabric_save_csv2dataset.py
had an undeclared dependency on numpy and a few bugs which was improved.
1.13.2
Added
- Add
bfabric.entities.Dataset
to easily read datasets. - Pydantic-based configuration parsing
- The config format did not change.
- The code is easier to maintain now.
- Additionally, there is a lot more validation of the configuration file now, that should catch errors early.
- Make host and port configurable in
bfabric_flask.py
(currently only dev mode).
1.13.1
Changed
- bfabric_save_csv2dataset will raise an error if problematic characters are found in any of the cells
- Correctly define
bfabric_setWorkunitStatus_available.py
, andprocessing
andfailed
variants.
Added
- Add loguru for future logging refactoring.
- Easily runnable tests with
nox
and standardized formatting usingpre-commit
.
Removed
- Pandas is no longer a dependency, and has been replaced by polars.
1.13.0
This is a major release refactoring bfabricPy's API.
Changed
- The
Bfabric
class operations now returnResultContainer
objects.- These provide a list-like interface to access individual items or iterate over them.
- Individual items are a dictionary, potentially nested, and not specific to suds/zeep anymore.
- Convenience conversions, e.g. to a polars DataFrame, can be provided there.
- Configuration is now defined in
~/.bfabricpy.yml
and supports multiple configurations, which can be selected by theBFABRICPY_CONFIG_ENV
environment variable. Please consult the README for an example configuration. - Use
pyproject.toml
for package configuration. - Scripts have been refactored on a case-by-case basis.
Added
- Zeep can be used instead of suds for SOAP communication.
Bfabric
can be instantiated without authentication, that can be provided later. This is useful in a server setup.- Pagination support in
Bfabric
, specify the number of max_results and a potential offset. Pages handling is abstracted away. - Detect errors in responses, e.g. invalid login.
Removed
- Several old scripts have been moved into a
deprecated_scripts
folder. - Wrapper creator related code is currently not updated but has been extracted into a dedicated folder
wrapper_creator
as well.
bfabricPy 0.13.8
Set version 0.13.8
bfabricPy 0.13.3
dataset
enables fetching and saving datasets to and from csv files using the following command line scripts:
bfabric_save_csv2dataset.py
bfabric_save_dataset2csv.py