The pycldf
package adheres to Semantic Versioning.
- Support certain GitHub URLs as dataset locators.
- Added option to
downloadmedia
subcommand to customize file naming.
- Fixed bug whereby foreign keys for the ParameterNetwork component were not added correctly because of an incorrect specification in terms.rdf. (See also cldf/cldf#161)
- Fixed bug whereby
dict
returned byorm.Language.as_geojson_feature
could not be serialized byjson.dumps
. - Fixed bug whereby SQLite conversion would fail when the name of a renamed column clashed with an existing column name in the table.
- Emit warning when encountering invalid main part for mediaType property.
Fixed bug whereby component names where the CSV filenames contain underscores were not translated appropriately when creating the SQLite db. (Note that this fix is required for the ParameterNetwork component in CLDF 1.3.)
Support for CLDF 1.3.
- Support typed values, specified via
columnSpec
inParameterTable
inorm
module. - Better datatype descriptions when rendering metadata as markdown.
- Run tests on python 3.12
- Fixed bug whereby checking existence of a URL was done too strictly.
- Fixed bug whereby non-file objects in the filesystem would trip up dataset detection.
- Dropped py3.7 compatibility.
- Support zipped data files properly when creating metadata descriptions in Markdown.
- Switch from
python-nexus
tocommonnexus
for reading NEXUS files.
- Support reading and writing sources from/to zipped BibTeX files.
- Load
Dataset.sources
lazily. (See #162)
- Allow access to the unparsed Newick string for a tree.
- Cache parsed tree files in
TreeTable
for efficient validation. - Validate existince of local files referenced in MediaTable.
- Validate readability of file and data URLs referenced in MediaTable.
Better support for CLDF Markdown.
- Support somewhat efficient data access in CLDFMarkdownText.
- Fix bug whereby CLDF Markdown links to rows in custom tables were erased by FilenameToComponent.
- Fix bug whereby CLDF Markdown links to metadata were not recognized as such.
Support data locators as input for all cldf
subcommands.
Fully supports CLDF 1.2 now, including CLDF extensions.
- Added support to write datasets with (individually) zipped table CSV files.
- Added
pycldf.Dataset.filename
property, to retrieve the name of the metadat file for both cases, local and remote datasets. - Enhanced cli utilities to make dataset specification and retrieval by URL possible.
- Updates to account for CLDF 1.1.3
- Support for renaming columns
- Validation of URITemplate properties when validating
- Fixed bug whereby zipped tables were not detected/evaluated during validation.
- Dropped python 3.6 support
- Support for media download
- Fixed bug whereby some last name parts of authors would not be included
in
pycldf.source.Source.refkey
.
- Enhanced ORM to make it more usable for e.g. templating.
- Add python 3.10 to supported versions
- Don't leak git credentials from remote URLs into CLDF metadata
- Fleshed out and documented access to schema objects in a CLDF dataset
- Support copying datasets (see #143)
- Added
Source.refkey
method (see #142)
- Fixed bug whereby CSV files with large field content could not be read due to
Python's
csv.field_size_limit
. Would have been a patch release, but requiresclldutils>=3.9
now, making this a minor change.
- Fixed regression (see #140)
- Updates to account for CLDF 1.1.2
- Support for "typed values" in
StructureDataset
s - More convenient access to targets of foreign key constraints via
Dataset.get_foreign_key_reference
- Existence of components/columns can now be checked with
name in Dataset
- Added
Dataset.components
property, to allow convenient access to components specified in a dataset. - Enhanced and refactored documentation (see https://pycldf.readthedocs.io/en/latest/).