Changelog#
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased#
v0.14.1 - 2025-10-25#
Fixed#
Compilation of Python 3.14 wheels.
Documentation of
QualifierandQualifierList.
v0.14.0 - 2025-10-25#
Changed#
Bump
pyo3tov0.27.1.Bump
fastobotov0.15.5.Use
BoundAPI ofpyo3while the GIL is held where applicable.
Added#
Support for accessing the
qualifiersandcommentof anyAbstractEntityClause(#365).
v0.13.0 - 2025-02-14#
Added#
Support for exporting to OWL/XML and RDF/XML syntaxes in
fastobo.dump_owl.Support for
os.PathLikearguments as files in allfastobotop-level functions.
Changed#
Bump
pyo3tov0.23.4.Bump
fastobotov0.15.4.Bump
fastobo-owltov0.3.2.Bump
horned-owltov1.0.Bump
synderive dependency tov2.0.Use
maturininstead ofsetuptools-rustto build the project withpip.Use PyData theme to render the Sphinx documentation.
Removed#
fastobo.syn.SynonymScopetype (replaced by literal strings where applicable).
v0.12.3 - 2023-12-06#
Added#
Explicit support for Python 3.12.
Changed#
Bump
pyo3tov0.19.2.Make
DisconnectedChannelErrorinherit fromRuntimeErrorinstead ofChildProcessError.
v0.12.2 - 2022-12-06#
Added#
Explicit support for Python 3.11.
Pre-built wheels for MacOS
aarch64platforms.
Changed#
Bump
pyo3tov0.17.3.Bump
fastobotov0.15.1.Bump
fastobo-graphstov0.4.8.
v0.12.1 - 2022-07-08#
Changed#
Stop releasing the GIL when loading an ontology from a file to fix Windows compilation.
v0.12.0 - 2022-07-08#
Changed#
Improve handling of exceptions in Rust code.
Bump
pyo3dependency tov0.16.Intern constant strings returned by
raw_tagmethods of clause objects.
Fixed#
Compilation of
fastoboextension with newersetuptools-rustversions (#300).
Removed#
Support for Python 3.6.
v0.11.1 - 2022-01-23#
Fixed#
Extraction of date argument when creating a
CreationDateClause.Skip displaying empty xrefs in
fastobo.typedef.DefClause.__repr__.
v0.11.0 - 2022-01-23#
Added#
fastobo.exceptionsmodule with dedicated exception types to report specific errors.fastobo.dump_owlto convert and write an OBO document to an OWL ontology (usingfastobo-owlandhorned-owl) in Functional-style syntax (usinghorned-functional).
Changed#
Bumped
fastobotov0.14.0.Bumped
fastobo-graphstov0.4.4.DateClausemay now store adatetime.dateinstead of adatetime.datetimeif the source document contains a date without time specifier.PyPI source distribution now contains vendored Rust sources, allowing compilation without network access.
Fixed#
setup.pyscript not auto-installing the Rust compiler in latestsetuptools_rustversions.
v0.10.2-post1 - 2021-09-19#
Added#
Aarch64 wheels built from GitHub Actions and deployed to PyPI (#245).
v0.10.2 - 2021-08-02#
Changed#
Bumped
pyo3dependency tov0.14.1.
Fixed#
fastobo.itererroneously wrappingSyntaxErrorraised in the header into aTypeError.
v0.10.1 - 2021-03-30#
Changed#
Bumped
fastobodependency tov0.13.1.
Fixed#
Curly braces not being properly escaped when writing unquoted strings.
v0.10.0 - 2021-02-19#
Added#
__hash__implementation tofastobo.id.BaseIdentsubclasses.__init__method to classes missing one infastobo.header.
Changed#
Bumped
pyo3dependency tov0.13.2.Bumped
fastobodependency tov0.13.0.
Fixed#
Broken
__repr__implementation for some types.
Removed#
unsafeblocks in derive macros implementation ofIntoPyObjectfor OBO clauses.Support for Python 3.5.
fastobo.id.IdentPrefixandfastobo.id.IdentLocalclasses.
v0.9.3 - 2020-12-04#
Fixed#
setup.pycrashing when compiling from source on a platform with stable Rust as the default toolchain (#182, thanks to @alexhenrie).
v0.9.2 - 2020-09-04#
Changed#
Bumped
fastobotov0.11.2.
v0.9.1 - 2020-08-15#
Added#
Wheel compilation for older OSX versions.
Automatic download on UNIX platforms for platforms without
rustcinstalling from source distribution.
v0.9.0 - 2020-07-29#
Changed#
Bumped
fastobotov0.10.0to support comment lines.Bumped
pyo3tov0.11.1.
Fixed#
fastobo.id.parsewill chain the eventualSyntaxErrorto theValueErrorraised if the identifier is invalid.Python threads are now released during intensive operations running only on the Rust side.
v0.8.2 - 2020-06-16#
Fixed#
OboDocnot implementing list methods (.append, etc.).
v0.8.1 - 2020-06-14#
Changed#
Bumped
fastobotov0.9.0.Bumped
fastobo-graphstov0.3.0.
Added#
fastobo.id.is_validfunction to check whether or not a string is a valid OBO identifier.
v0.8.0 - 2020-06-12#
Changed#
Bumped
fastobotov0.8.4.Bumped
pyo3tov0.10.1.Removed occurences of unsafe code for Python type management.
Reduced number of GIL acquisition where possible.
Changed implementation of file wrappers to use
PyAnywhere applicable.
Added#
Configuratble support for multithreading in
fastobo.iter,fastobo.loadandfastobo.loadsusing thethreadskeyword argument.
v0.7.2 - 2020-02-12#
Changed#
Bumped
fastobotov0.8.3to fixDisplayimplementation offastobo::ast::IsoDateTime.
v0.7.1 - 2020-02-11#
Changed#
Bumped
fastobotov0.8.2to fixDisplayimplementation ofHeaderClause::Unreservedvariant.Bumped
builtbuild-dependency tov0.4.0.
v0.7.0 - 2020-01-24#
Changed#
Bumped
fastobotov0.8.1to use multi-threaded parser implementation.Added
orderedkeyword argument to top-levelfastobofunction to disable requirement to parse the document in order-preserving mode.
v0.6.2 - 2020-01-18#
Added#
Compilation of Python 3.8, PyPy 3.5 and PyPy 3.6 wheels for OSX.
Fixed#
Bumped
fastobotov0.7.5, which should finally support Windows style line-endings.
v0.6.1 - 2019-11-19#
Added#
Compilation of Python 3.8 wheels for Linux and Windows (#67).
Fixed#
BaseTypedefClausenot being declared infastobo.typdefsubmodule.fastobo.idmodule performing unneeded string allocation.
v0.6.0 - 2019-10-08#
Added#
__init__to all classes offastobo.typedef.
Changed#
Renamed
termfield offastobo.typedef.Relationshiptotarget.
v0.5.4 - 2019-10-08#
Added#
__init__implementation forfastobo.doc.OboDoc.__init__implementation forfastobo.term.ConsiderClause.__init__implementation forfastobo.term.IsObsoleteClause.Add constructor signatures to classes in
fastobo.termandfastobo.header.
Changed#
Bumped
pyo3dependency tov0.8.1.
Fixed#
Automatic generation of
pyproject.tomlinsdist.
v0.5.3 - 2019-10-06#
Added#
__init__anddategetter toCreationDateClausein bothfastobo.termandfastobo.typedefwith proper timezone support.
v0.5.2 - 2019-09-28#
Added#
Getters for
ReplacedByClauseinfastobo.typedef.
Fixed#
PyFileGILRead(used infastobo.iter) should now be thread safe.
v0.5.1 - 2019-09-19#
Added#
Getters for
ExpandExpressionToClauseandExpandAssertionToClauseinfastobo.typedef.
Fixed#
Missing
NamespaceIdRuleClauseclass is now a member offastobo.header.
v0.5.0 - 2019-09-18#
Added#
fastobo.iterfunction to iterate over the entity frames of an OBO document.From<std::io::Error>impl forError.
Changed#
OboDoccannot be subclassed anymore.
v0.4.2 - 2019-09-16#
Added#
Getters for
IsClassLevelClauseandIsMetadataTaginfastobo.typedef.Getters for
RelationshipClauseinfastobo.term.
Changed#
Inconsistent naming for
PropertyValueClausebetweenfastobo.headerand other submodules.
Fixed#
Bug with
fastobo.header.ImportClause.referencereturning the whole clause serialization instead.
v0.4.1 - 2019-09-15#
Added#
Precompiled wheels for CPython 3.5, 3.6 and 3.7 on Windows x86-64.
v0.4.0 - 2019-09-14#
Added#
__init__implementation forfastobo.term.DefClause__init__implementation forfastobo.syn.SynonymPrecompiled wheels for PyPy3 on OSX and Linux.
Fixed#
XrefList.__repr__implementation entering infinite recursion.Derive macros generating weird error messages for some
TypeErrors.Enabled
extension-modulefeature ofpyo3to allow static linking to Python interpreter.Inconsistent error-chaining in Python causing issues with
try/exceptblocks.
v0.3.3 - 2019-09-10#
Changed#
Use stable PyO3 release (
v0.8.0).Add back
__build__attribute to check build variables.
v0.3.2 - 2019-08-29#
Added#
Added BOSC 2019 poster reference to
README.md.Added
__richcmp__implementation tofastobo.id.PrefixedIdent.
Changed#
Bumped Rust dependencies to latest PyO3 version.
v0.3.1 - 2019-08-08#
Fixed#
PyFile.writecallingwritewith two arguments causing duck typing check to fail all the time indump_graph.
v0.3.0 - 2019-08-08#
Added#
load_graphanddump_graphfunctions to read and write OBO JSON files.
Changed#
Updated to
fastobov0.7.1.
v0.2.2 - 2019-07-24#
Changed#
Updated to
fastobov0.6.1.Updated to
urlv2.0.0.
v0.2.1 - 2019-07-23#
Changed#
Updated to
fastobov0.6.0.
Fixed#
Parser now accepts ISO 8601 dates with fractional second.
v0.2.0 - 2019-07-22#
Changed#
Updated to
fastobov0.5.0.
Added#
Support for OBO graph deserialization using
fastobo-graphs.Limited support for instance frames in
fastobo.instancemodule.Methods
OboDoc.compact_idsandOboDoc.decompact_idsto create semantically equivalent OBO document with compacted/decompacted identifiers.
v0.1.1 - 2019-06-28#
Fixed#
PyPI release not being uploaded because of older development release.
v0.1.0 - 2019-06-28#
Initial release.