Changelog

From the newest to the oldest version.

1.0.0

  • Relicense Deepparse from the LGPLv3 to the MIT license, with the agreement of its contributors (LICENSE, setup.py metadata and classifier, README, documentation and contributing guide). The pretrained models on the Hugging Face Hub are also under the MIT license.

  • Say in the README and the Results page that the per-country FastText and BPEmb results come from the 2020 dataset of the deepparse-address-data repository, whose archive is no longer available for download, and that the current worldwide-addresses dataset has no Orientation nor GeneralDelivery tags.

  • Stop the unit tests from downloading the pre-trained models: instantiating an AddressParser reached the HuggingFace Hub, so concurrent CI jobs hit the anonymous rate limit (HTTP 429) and 21 tests failed for reasons unrelated to the code. The model factory is now mocked in AddressParserTest.setUp.

  • Restrict the tests workflow push trigger to main, dev and stable, so a branch with an open pull request no longer runs the whole matrix twice.

  • Cache the downloaded models between CI runs and pass an optional HF_TOKEN to the test steps.

  • Add a “Client Libraries” section to the README and the Sphinx API documentation pointing to the community Go HTTP client (adamdecaf/deepparse-go) for the out-of-the-box FastAPI parser.

  • Fix the examples (#328): they called download_from_public_repository, removed in 0.9.14, to download sample data from the former graal.ift.ulaval.ca server, which is down. Add download_worldwide_addresses_sample to download a small sample of one country from the deepparse/worldwide-addresses HuggingFace dataset, mapped to the deepparse tags (Suburb and District become Municipality, the County and Country words are removed). The examples, their documentation pages and the dataset links in the README and the documentation now use it. pyarrow is added to the all extra.

  • Add FastTextBinReader, a pure numpy reader of the Facebook fastText .bin format (memory-mapped input matrix, word vectors computed like fastText getWordVector), as a first step to drop gensim and fasttext-wheel and support Python 3.14 (#255). It is not used by FastTextEmbeddingsModel yet. The tests now build their fake .bin files with a minimal writer instead of gensim, and an equivalence test compares the reader with gensim and fastText.

  • Fix models_evaluation/evaluate_model.py: it passed logging_path and checkpoint to AddressParser.test, which no longer accepts them, and loaded the tagged test data as a prediction container. The model to evaluate is now loaded with path_to_retrained_model. Add models_evaluation/evaluate_model_on_test_set.py to evaluate a pretrained or retrained model on one or more test pickles, such as the test.p built from the deepparse/worldwide-addresses dataset, without the former per-country test directories.

  • Fix the attention decoder with a hidden size other than 1024: the attention layers were always built with a hidden size of 1024, so retraining or training an attention model with seq2seq_params changing the decoder hidden size crashed with a shape mismatch. The published attention models (1024) are not affected.

  • Drop the gensim, fasttext-wheel and bpemb dependencies and support Python 3.14 (#255). gensim is in maintenance mode and has no Python 3.14 wheel. FastTextEmbeddingsModel now reads the .bin embeddings with FastTextBinReader on every OS and Python version (same vectors as fastText, memory-mapped instead of ~8-10 GB of RAM). The BPEmb embeddings are loaded with a minimal reimplementation using sentencepiece (same vectors as the bpemb package, same cache layout, so existing caches are reused). Backward compatibility: the pretrained and retrained models give the same predictions, the fasttext extra is kept (empty), FASTTEXT_AVAILABLE is kept, load_fasttext_embeddings is deprecated and returns a FastTextBinReader (same model[word], get_word_vector and get_dimension interface), and BPEmbBaseURLWrapperBugFix keeps the bpemb defaults and its embed, encode, encode_ids, vectors and dim API (not the gensim emb attribute).

  • Add three Model2Vec models (#328): model2vec-8m, model2vec-32m and model2vec-multilingual, based on the minishlab/potion-* static embeddings, plus the tiny alias for model2vec-8m. Their embeddings take 59 MB, 249 MB and 1 GB on disk, compared to 6.8 GB for fastText, and the parser takes ~1.0 GB, ~1.2 GB and ~2.8 GB of RAM at peak (CPU, whole process). Install them with pip install deepparse[model2vec]. They were trained on the deepparse/worldwide-addresses HF dataset (20 countries, 100,000 clean and 50,000 incomplete addresses per country), where Suburb and District are mapped to Municipality and County and Country words are removed. Since the source data has no Orientation nor GeneralDelivery tags, these models never predict them, and South Korea has almost only incomplete addresses. Each released model is the best of a grid of four hidden sizes (128, 256, 512 and 1024) and five seeds, selected on the validation loss relative to the seed (the seed also draws the validation split), never on the test split. The Results page gives their test accuracy and the whole grid, and each Hugging Face repository has a model card.

  • Add models_evaluation/select_best_model.py, which selects the released configuration and seed of each model from a grid of retraining runs and generates the Results tables, and models_evaluation/export_model_to_hub.py, which exports the selected checkpoints to the Hugging Face Hub format (config.json, model.safetensors and a model card), checks that they reload with the same weights and only pushes them with --push.

  • Save the architecture (hidden sizes and number of layers) of a retrained model whose pretrained architecture is not the default one, even without seq2seq_params: retraining a pretrained Model2Vec model with a hidden size other than 1,024 (e.g. 512) and reloading it failed with a size mismatch, since the model was rebuilt with the default size.

  • Add models_evaluation/check_exported_models.py, which checks the exported models end to end without network (load from a Hugging Face cache layout, same predictions as the retrained checkpoints, retrain and reload), and models_evaluation/release_model2vec.sh, which chains the selection, the export, this check and the documentation tables in one command, without pushing (and the speed test with SPEED_TEST=1).

  • The speed test (models_evaluation/speed_test_evaluation.py) takes a --cache_dir and --offline, to measure models from a given cache (e.g. before they are pushed), and reports the GPU memory peak.

  • Add models_evaluation/retrain_grid_model.py, the resumable training script of one run of the grid (hidden sizes, attention and seeds) behind the released Model2Vec models, with --print_grid to list its 200 runs.

  • Only download the files Model2Vec loads, skipping the ONNX export.

  • A model type without published weights is now randomly initialized with a warning instead of failing, so it can be retrained from scratch.

  • Allow data loading workers (num_workers > 0) with the FastText models on Windows and MacOS: the FastText embeddings reader is picklable, so it works with the spawn start method. The restriction (error on Windows, fork start method on MacOS) is kept for the FastText Light (Magnitude) model only.

  • Documentation: add the API pages of the embeddings models (embeddings_models, including FastTextBinReader), the models download functions (download_tools, which now hosts download_worldwide_addresses_sample) and the errors (errors), and a “Choose a Model” page comparing the pretrained models (disk size, RAM, speed, multilingual coverage) with the figures already in the documentation. The per-country results tables move from the landing page to a “Pretrained Models Results” page, and the landing page gets a quick example. Fix the docstrings that broke the rendering (BPEmbEmbeddingsModel, MagnitudeEmbeddingsModel, EmbeddingsModelFactory.create, load_fasttext_embeddings).

  • Modernize the documentation: the furo theme (light and dark modes) replaces sphinx_rtd_theme, a copy button is added to the code blocks (sphinx-copybutton, prompts excluded), and a Changelog page renders this file (myst-parser). The all extra and docs/requirements.txt are updated accordingly. Clean the Sphinx configuration (unused LaTeX, Texinfo, man and HTML Help settings and extensions removed, intersphinx URLs updated).

  • The documentation CI now builds once (Python 3.13) with warnings and broken references as errors (-W -n), and a weekly workflow checks the documentation links. Fix the docstring warnings and the redirected links.

  • Document the memory and loading time gains of the gensim removal (#335), measured on CPU: the FastText parser takes ~1.3 GB of RAM at peak and loads in ~4 s, compared to ~8.4 GB (13.2 GB at peak) and ~42 s with gensim; the BPEmb embeddings load in ~0.2 s instead of ~0.9 s and take ~0.14 GB instead of ~0.26 GB.

  • Publish versioned documentation: the stable release stays at https://deepparse.org/ and the dev branch is published at https://deepparse.org/dev/ on every push to dev (new deploy-dev.yml workflow). The dev pages show a “development version” banner with the dev version number and a link to the stable docs (set with the DEEPPARSE_DOCS_VERSION=dev environment variable), and the stable home page links to the dev docs. The stable deployment now keeps the dev/ folder of gh-pages, and both deployments share a concurrency group.

  • Delimit the public API before 1.0.0, without breaking change. The deepparse top-level package and its bpemb_url_bug_fix, download_tools, validations and weights_tools modules now have an explicit __all__, so from deepparse import * only imports the public API. The deepparse helpers reachable as deepparse.<name> in 0.11.0 are still reachable (e.g. deepparse.weights_init), even if they are not in __all__. A unit test freezes the public API. The standard library and third-party modules that 0.11.0 re-exported by accident (e.g. deepparse.os, deepparse.torch) are no longer reachable from deepparse, and from deepparse import * only imports __all__.

  • Rename BPEmbBaseURLWrapperBugFix (deepparse/bpemb_url_bug_fix.py) to BPEmbLoader (deepparse/bpemb_loader.py), since it is no longer a URL bug-fix wrapper but a gensim-free BPEmb loader. BPEmbBaseURLWrapperBugFix is kept as a deprecated subclass of BPEmbLoader, importable from deepparse and deepparse.bpemb_url_bug_fix, that emits a DeprecationWarning and will be removed in 1.0.0.

  • load_fasttext_embeddings and FASTTEXT_AVAILABLE are deprecated and will be removed in 1.0.0; the load_fasttext_embeddings warning now says so and points to deepparse.embeddings_models.FastTextBinReader.

  • Use GB instead of GO in the documentation, docstrings and log messages.

  • Document the versioning and deprecation policy (semantic versioning, deprecated APIs kept at least until the next major version) and the APIs slated for removal in 1.0.0.

  • Speed up the BPEmb models on GPU: the EmbeddingNetwork now runs the sub-word LSTM on all the words of a batch in a single call instead of one call per word position with a Python loop over the batch. A training step of the embedding network goes from ~3.9 s to ~0.05 s (batch of 2,048 addresses, RTX 6000 Ada), which made BPEmb training CPU-bound (~1-3 h per epoch on 2.9 M addresses). The outputs and gradients are the same (tested against the former loop), and the pretrained BPEmb models give the same predictions. GPU inference by batches is about twice as fast (3,000 addresses in ~1.0-1.3 s instead of ~2.4-2.6 s, batches of 256), and the CPU inference time is unchanged; the Parser and Choose a Model pages say so.

  • Report the measured GPU memory and time per address of the released Model2Vec models in the model guide, and fix the speed test, which reset the CUDA peak memory statistics before the CUDA context existed.

  • Remove the APIs deprecated before 1.0.0: BPEmbBaseURLWrapperBugFix and the deepparse.bpemb_url_bug_fix module (use deepparse.BPEmbLoader), load_fasttext_embeddings (use deepparse.embeddings_models.FastTextBinReader) and FASTTEXT_AVAILABLE, and the internal helpers and constants reachable as deepparse.<name> but not in deepparse.__all__ (e.g. deepparse.weights_init, deepparse.MODEL_REPO_IDS): import them from their own module (e.g. deepparse.weights_tools, deepparse.download_tools).

0.11.0

  • Replace print() calls with logging across the codebase for proper log-level control.

  • Replace Union[X, None] type hints with PEP 604 X | None pipe syntax (Python 3.10+).

  • Fix CLI retrain command silently ignoring the --prediction_tags argument.

  • Remove dead code in CLI retrain (parser_args.update on unused dict) and simplify handle_prediction_tags().

  • Fix training dataset validation not flagging a partially empty tag set: _empty_tags used all instead of any, so a single empty tag list (e.g. ("an address", [])) was masked and reported through the generic length-mismatch error instead of the clearer “Some tags data points are empty.” error.

  • Fix extract_package_version reading package.version.__version__, which no longer exists in Poutyne >= 1.18 and broke retrain with an AttributeError. It now reads the standard package.__version__.

  • Fix the fine-tuned weights loader (ModelLoader.load_weights) always returning None as the model version: the version was read from the inner state dict instead of the checkpoint metadata.

  • Fix retrain silently swallowing a genuine training RuntimeError (it inspected the current working directory instead of the logging path); the error is now re-raised when there is no checkpoint collision.

  • Fix the parser mutating a caller-provided pre_processors list, which accumulated duplicate pre-processors when the same list was reused across calls.

  • Fix CLI export-format detection matching the extension as a substring anywhere in the file name (e.g. report.pdf treated as pickle); it now checks the real file extension.

  • Fix CLI attention-model handling using str.strip("attention") (a character set) to drop the -attention suffix; it now uses removesuffix("-attention").

  • Remove a no-op self.model.state_dict() call in save_address_parser_weights.

  • Fix the REST API returning HTTP 500 instead of the documented 422 for an empty address list or an unknown parsing model: format_parsed_addresses (used as a FastAPI dependency) raised ValueError instead of HTTPException.

  • Fix DataPadder.pad_subword_embeddings_sequences mutating the caller’s decomposition-length lists in place.

  • Replace a except BaseException (which also swallowed KeyboardInterrupt/SystemExit) with except Exception when closing HTTP adapters in the BPEmb embeddings model.

  • Fix a missing space in the DataProcessorFactory “unsupported vectorizer” error message.

  • Breaking change (REST API): the parse endpoint now returns parsed_addresses as a list of {raw: parsed} objects instead of a single object keyed on the raw address. The previous format silently collapsed duplicate input addresses (and lost their order); the list preserves every input.

  • Fix the attention decoder building its length mask on CPU, which raised a device-mismatch error when running an attention model on GPU. The mask now follows the model’s device.

  • Security: load model checkpoints with torch.load(..., weights_only=True) so a maliciously crafted checkpoint (e.g. an untrusted path_to_retrained_model) cannot execute arbitrary code during unpickling.

  • Security: download the BPEmb embeddings with SSL verification enabled by default. Verification is now only disabled as a failsafe (with a warning) if an SSL error occurs, instead of unconditionally. The previous behaviour exposed the download to man-in-the-middle tampering.

  • Security: document that PickleDatasetContainer must only be used with trusted pickle files, since unpickling executes arbitrary code.

  • Security (REST API): reject requests with more than MAX_ADDRESSES_PER_REQUEST addresses (default 1024, env-overridable) with HTTP 413, to prevent resource-exhaustion denial of service.

  • Security (Sentry): default traces/profiles sample rates to 0.1 (env-overridable via SENTRY_TRACES_SAMPLE_RATE/SENTRY_PROFILES_SAMPLE_RATE), never capture request bodies, and disable PII sending, since parsed addresses are personal data.

  • Security (Docker): run the app image as a non-root user and pin the base images by digest.

  • Add an architecture test suite (ArchUnitPython) under tests/architecture/ that freezes the package layering and forbids import cycles between packages.

  • Add a pip-audit CI workflow to scan dependencies for known vulnerabilities, running on both main and dev.

  • Fix the CI test suite failing because transformers lazily imports torchvision.

  • Fix the greetings workflow failing on every PR.

  • Fix the broken Zenodo DOI badge URL in the README.

  • Bump fastapi from 0.134.0 to 0.141.1.

  • Bump docker/build-push-action from 6.19.2 to 7.3.0.

  • Bump docker/metadata-action from 5.10.0 to 6.2.0.

  • Bump docker/login-action from 2.1.0 to 4.6.0.

  • Bump actions/checkout from 4 to 7.

  • Bump actions/setup-python from 6 to 7.

  • Bump actions/stale from 7 to 11.

  • Bump github/codeql-action from 4 to 4.37.9.

  • Update sentry-sdk requirement from >=2.0.0 to >=2.68.1.

  • Update gensim requirement from >=4.3.3 to >=4.4.0.

  • Update sphinx requirement from >=7.4.0 to >=8.1.3.

  • Update sphinx-rtd-theme requirement from >=3.0.0 to >=3.1.0.

  • Update colorama requirement from >=0.4.3 to >=0.4.6.

0.10.0

  • Breaking change: Drop Python 3.8 and 3.9 support. Minimum required version is now Python 3.10.

  • Add Python 3.12 support.

  • Add compatibility with Intel GPUs and other Torch acceleration devices.

  • Remove numpy<2.0.0 version cap to support NumPy 2.x.

  • Bump pinned dependency versions for Python 3.12+ compatibility (unpin uvicorn, python-decouple, pylint-django, pre-commit, pycountry).

  • Update CI/CD workflows, documentation, and package setup for Python 3.12.

  • Fix outdated model download URLs from graal.ift.ulaval.ca to HuggingFace Hub.

  • Remove unused BASE_URL constant.

  • Add missing parameterized type hints across the codebase (List[str], Dict[str, int], List[Callable], etc.).

  • Add missing return type annotations to multiple functions and methods.

  • Add Python 3.13 support.

  • Make fasttext-wheel an optional dependency. On Python 3.13+ (or when fasttext is not installed), Deepparse automatically falls back to Gensim’s load_facebook_vectors to load FastText embeddings. Install with pip install deepparse[fasttext] for native FastText support on Python 3.10–3.12.

  • Fix FastTextEmbeddingsModel.dim property to use vector_size when using the Gensim fallback.

  • Fix Python version in deploy.yml and python-publish.yml workflows (was set to non-existent 3.14).

  • Update GitHub Actions to latest major versions (checkout@v4, setup-python@v5, codeql-action@v3, gh-pages@v4).

  • Fix Dependabot target branch from non-existent develop to dev.

  • Remove dead code: unused attention_output tensor allocation in Seq2SeqModel._decoder_step.

  • Fix download_fasttext_magnitude_embeddings always re-downloading even when cached.

  • Replace assert statements with HTTPException in FastAPI app for proper error handling.

  • Change default logging level from DEBUG to WARNING in app module.

  • Remove unnecessary pybind11 from build-system requirements.

  • Remove obsolete “temporary fix for torch 1.6” comments in encoder, decoder and embedding network.

  • Remove deprecated version key from docker-compose.yml.

  • Fix mixed f-string/%-formatting in download progress bar.

  • Update Dockerfile base images to PyTorch 2.5.1 / CUDA 12.4 and Python 3.13.

  • Migrate PyPI publish workflow from deprecated setup.py sdist bdist_wheel to python -m build.

  • Add MANIFEST.in to ensure version.txt and README.md are included in source distributions.

  • Restrict docs workflow to only build on main, dev, and stable branches.

  • Bump actions/setup-python from v5 to v6.

  • Bump docker/metadata-action from 4.3.0 to 5.10.0.

  • Bump docker/build-push-action from 4.0.0 to 6.19.2.

  • Bump github/codeql-action from v3 to v4.

  • Bump actions/first-interaction from v1 to v3.

  • Bump fastapi[all] from 0.109.1 to 0.134.0.

0.9.14

  • Switch model weights hosting to hugging face

0.9.13

  • Update Gensim version in setup to allow for the installation of recent Scipy versions.

0.9.12

  • Bug-fix the call to the BPEmb class instead of the BPEmbBaseURLWrapperBugFix to fix the download URL in download_models.

0.9.11

  • Fix Sentry version error in Docker Image.

0.9.10

  • Fix and improve documentation.

  • Remove fixed dependencies version.

  • Fix app errors.

  • Add data validation for 1) multiple consecutive whitespace and 2) newline.

  • Fixes some errors in tests.

  • Add an argument to the DatasetContainer interface to use a pre-processing data cleaning function before validation.

  • Hot-fix the issue with the BPEmb base URL download problem. See issue 221.

  • Fix the NumPy version due to a major release with breaking changes.

  • Fix the SciPy version due to breaking change with Gensim.

  • Fix circular import in the API app.

  • Fix deprecated max_request_body_size in Sentry.

0.9.9

  • Add version to Seq2Seq and AddressParser.

  • Add a Deepparse as an API using FastAPI.

  • Add a Dockerfile and a docker-compose.yml to build a Docker container for the API.

  • Bug-fix the default pre-processors that did not all apply but only the last one.

0.9.8

  • Hot-fix wheel install (See issue 196).

  • Starting now, we also include model weights release in the GitHub release.

0.9.7

  • New models release with more meta-data.

  • Add a feature to use an AddressParser from a URI.

  • Add a feature to upload the trained model to a URI.

  • Add an example of how to use URI for parsing from and uploading to.

  • Improve error handling of path_to_retrain_model.

  • Bug-fix pre-processor error.

  • Add verbose override and improve verbosity handling in retraining.

  • Bug-fix the broken FastText installation using fasttext-wheel instead of fasttext ( see here and here).

0.9.6

  • Add Python 3.11.

  • Add pre-processor when parsing addresses.

  • Add pin_memory=True when using a CUDA device to increase performance as suggested by Torch documentation.

  • Add torch.no_grad() context manager in __call__() to increase performance.

  • Reduce memory swap between CPU and GPU by instantiating Tensor directly on the GPU device.

  • Improve some warnings’ clarity (i.e., category and message).

  • Bug-fix MacOS multiprocessing. It was impossible to use in multiprocess since we were not testing whether Torch multiprocess was set properly. Now, we set it properly and raise a warning instead of an error.

  • Drop Python 3.7 support since newer Python versions are faster and Torch 2.0 does not support Python 3.7.

  • Improve error handling with wrong checkpoint loading in AddressParser retrain_path use.

  • Add torch.compile integration to improve performance (Torch 1.x still supported) with mode="reduce-overhead" as suggested in the documentation. It increases the performance by about 1/100.

0.9.5

  • Fixed tags converter bug with the data processor.

0.9.4

  • Improve codebase.

0.9.3

  • Improve error handling.

  • Bug-fix FastText error is not handled in the test API.

  • Add a feature to allow new_prediction_tags to retrain CLI.

0.9.2

  • Improve Deepparse server error handling and error output.

  • Remove deprecated argument saving_dir in download_fasttext_magnitude_embeddings and download_fasttext_embeddings functions.

  • Add offline argument to remove verification of the latest version.

  • Bug-fix cache handling in the download model.

  • Add the download_models CLI function.

  • Temporary hot-fix BPEmb SSL certificate error.

0.9.1

  • Hot-fix cli.download_model attention model bug

0.9

  • Add save_model_weights method to AddressParser to save model weights (PyTorch state dictionary)

  • Improve CI

  • Added verbose flag for the test to activate or deactivate the test verbosity (it overrides the AddressParser verbosity)

  • Add Docker image

  • Add val_dataset to retrain API to allow the use of a specific val dataset for training

  • Remove the deprecated download_from_url function

  • Remove the deprecated dataset_container argument

  • Fixed errors and docs

  • Added the UK retrain example

0.8.3

  • Add Zenodo DOI

0.8.2

  • Bug-fix retrain attention model naming parsing

  • Improve error handling when not a DatasetContainer is used in retraining and testing API

0.8.1

  • Refactored function download_from_url to download_from_public_repository.

  • Add error management when retraining a FastText-like model on Windows with several workers (num_workers) greater than 0.

  • Improve dev tooling

  • Improve CI

  • Improve code coverage and pylint

  • Add Codacy

0.8

  • Improve SEO

  • Add cache_dir arg in all CLI functions

  • Improve handling of HTTP errors in models version verification

  • Improve doc

  • Add a note for parsing data cleaning (i.e. lowercase, commas removal, and hyphen replacing).

  • Add hyphen parsing cleaning step (with a bool flag to activate or not) to improve some country address parsing ( see issue 137).

  • Add ListDatasetContainer for the Python list dataset.

0.7.6

  • Re-release version 0.7.5 into 0.7.6 due to manipulation error and change in PyPi (now delete does not delete release).

0.7.5

  • Bug-fix Poutyne version handling that causes a print error when a version is 1.11 when retraining

  • Add the option to create a named retrain the parsing model using, by default, the architecture setting or using the user-given name

  • Hot-fix missing raise for DataError validation of address to parse when address is tuple

  • Bug-fix handling of string column name for CSVDatasetContainer that raised ValueError

  • Improve parse CLI documentation and fix errors in documentation stating JSON format is supported as input data

  • Add batch_size to parse CLI

  • Add minimum version to Gensim 4.0.0.

  • Add a new CLI function, retrain, to retrain from the command line

  • Improve doc

  • Add cache_dir to the BPEmb embedding model and to AddressParser to change the embeddings cache directory and models weights cache directory

  • Change the saving_dir argument of download_fastext_embeddings and download_fasttext_magnitude_embeddings function to cache_dir. saving_dir is now deprecated and will be removed in version 0.8.

  • Add a new CLI function, test, to test from the command line

0.7.4

  • Improve parsed address print

  • Bug-fix #124: comma-separated list without whitespace in CSVDatasetContainer

  • Add a report when addresses to parse and tags list len differ

  • Add an example of how to fine-tune using our CSVDatasetContainer

  • Improve data validation for data to parse

0.7.3

  • Add freeze layer parameters to freeze layers during retraining

0.7.2

  • Added JSON output support

  • Add logging output of parse CLI function

  • Hot-fix Poutyne version handling

0.7.1

  • Hot-fix for missing dependency

  • Fixed bug with poutyne version handling

0.7

  • Improved CLI

  • Fixed bug in CLI export dataset

  • Improved the documentation of the CLI

0.6.7

  • Fixed errors in data validation

  • Improved documentation over data validation

  • Bug-fix data slicing error with data containers

  • Add an example of how to use a retrained model

0.6.6

  • Fixed errors in code examples

  • Improved documentation of download_from_url

  • Improve error management of retraining and test

0.6.5

  • Improve error handling of empty data and whitespace-only data.

  • Parsing now includes two validations on the data quality (not empty and not whitespace only)

  • DataContainer now includes data quality test (not empty, not whitespace only, tags not empty, tags the same length as an address and data is a list of tuples)

  • New CSVDatasetContainer

  • DataContainer can now be used to predict using a flag.

  • Add a CLI to parse addresses from the command line.

0.6.4

  • Bug-fix reloading of retraining attention model (PR #110)

  • Improve error handling

  • Improve doc

0.6.3

  • Fixed the printing capture to raise the error with Poutyne as of version 1.8. We keep the previous approach for compatibility with the previous Poutyne version.

  • Added a flag to disable or not use Tensorboard during retraining.

0.6.2

  • Improved (slightly) data padding method code speed as per PyTorch list or array to the Tensor recommendation.

  • Improved documentation for RuntimeError due to retraining FastText and BPEmb model in the same directory.

  • Added error handling RuntimeError when retraining.

0.6.1

  • Completed EOS bug fix

0.6

  • Added Attention mechanism models

  • Fixed EOS bug

0.5.1

  • Fixed address_comparer hint typing error

  • Fixed some docs errors

  • Retrain and test now have more default parameters

  • Various small code and test improvements

0.5

  • Added Python 3.9

  • Added feature to allow a more flexible way to retrain

  • Added a feature to allow retraining of a new seq2seq architecture

  • Fixed prediction tags bug when parsing with new tags after retraining

0.4.4

  • Fixed import error.

0.4.3

  • Fixed typos in one of the file names.

  • Added tools to compare addresses (tagged or not).

  • Fixed some test errors.

0.4.2

  • Added __eq__ method to FormattedParsedAddress.

  • Improved device management.

  • Improved testing.

0.4.1

  • Added method to specify the format of address components of a FormattedParsedAddress. Formatting can specify the field separator, the field to be capitalized, and the field to be upper case.

0.4

  • Added a verbose flag to the training and a test based on the init of the address parser.

  • Added a feature to retrain our models with a prediction tags dictionary that is different from the default one.

  • Added in-documentation code examples.

  • Added code examples.

  • Small improvement of model implementation.

0.3.6

  • Added a method for dictionary conversion of parsed addresses for simpler Pandas integration.

  • Added examples for parsing addresses and how to convert them into a DataFrame.

  • Fixed error with the download module.

0.3.5

  • Added a verbose flag to the training and test based on the init of the address parser.

  • Breaking change Since SciPy 1.6 is released on Python 3.7+ , we don’t support Python 3.6.

  • Added management for Windows where the FastText model cannot be pickled. We use the Gensim fasttext model on Windows, which takes more RAM.

0.3.4

  • Fixed a bug when using a batched address. Since we were sorting the address during the forward pass, the output prediction tags were not aligned with the supposed parsed address. We have removed the sorting, and now the results are more aligned with our research.

0.3.3

  • We have improved the loading of data during prediction. We now use a data loader.

  • Updated the performance table of models with the data loader approach.

  • Fixed missing import in the parser module.

  • Bug fix of the max_len for the predictions

0.3

  • Added Libpostal time in the doc

  • Documentation improvement

  • Added new model evaluation to doc

  • Release new models

0.2.3

  • Improved documentation

0.2.2

  • Fixed error with experiment and verbosity as logging trigger on or off

0.2.1

  • Fixed README

0.2

  • Added FastText light model using pymagnitude-light

  • Added fine-tuning API to allow fine-tuning of our models (retrain)

  • Added a method to test models (test)

  • Added metric, loss and dataset container to facilitate fine-tuning training

  • Added an example of fine-tuning

  • Added way to load retrain model when instantiation of AddressParser

0.1.3.1

  • Added a verbose flag to trigger more messages during embedding loading

  • Added a verbose flag in model/embeddings download

0.1.3

  • Added “contributing to”

  • Added fix for comma problem (#56)

  • Added content in Address Parser documentation for tags definition

  • Fixed Pylint bug with PyTorch 1.6

  • Fixed pack_padded CPU error with PyTorch’s new release

0.1.2

  • Modification of assets URL

  • Bug-fix dictionary use

  • Fixed logo

  • Fixed typo deepParse -> deepparse

  • Fixed authors in the setup

Beta (0.1)

  • Initial release of the pretrained models

  • Beta version of the API