Formasaurus
Formasaurus is a Python package that tells you the type of an HTML form and its fields using machine learning.
It can detect if a form is a login, search, registration, password recovery, “join mailing list”, contact, order form or something else, which field is a password field and which is a search query, etc.
License is MIT.
Check docs for more.
Changes
0.10.0 (2024-11-07)
Dropped official support for Python 3.8.
The minimum supported versions of some dependencies have changed:
lxml: 4.4.1 → 4.5.2
scikit-learn: 0.24.0 → 1.5.0
scipy: 1.5.0 → 1.6.2
New dependencies have been added:
numpy ≥ 1.19.5
packaging ≥ 14.0
parsel ≥ 1.1.0
platformdirs ≥ 3.2.0
The formasaurus.utils.dependencies_string() function is now deprecated.
Added a new function, build_submission, to make Formasaurus easier to use.
Added a built-in model, so that you can use Formasaurus right away without the need to first train a model on the built-in data.
Changed the model serialization format, to minimize the chance of breakage due to new versions of dependencies.
As a result, when specifying a model path, it is no longer the path to a single file, but the base path for multiple files. For example, if model is specified as file path, 2 files are created, model-field.joblib and model-form.json.
When building a model, if a file path is not specified, the file path used by default is now guaranteed to be user-writable.
Removed the need to specify the [with-deps] or [with_deps] extra when installing <install.
Improved the docs of formasaurus.classifiers.extract_forms().
0.9.0 (2024-06-19)
Dropped official support for Python 3.7 and lower, and added official support for Python 3.8 and higher.
Added support for the latest versions of all dependencies, and upgraded minimum supported versions of dependencies as follows:
docopt: 0.4.0
requests: 1.0.0
tldextract: 1.2.0
with-deps extra dependencies:
joblib: 1.2.0
lxml: 4.4.1
lxml-html-clean: 0.1.0
scikit-learn: 0.18.0 → 0.24.0
scipy: 1.5.1
sklearn-crfsuite: 0.3.1 → 0.5.1
https://github.com/scrapinghub/formasaurus is the new code repository, replacing https://github.com/TeamHG-Memex/Formasaurus.
Updated the CI configuration and development tooling.
0.8.1 (2018-07-02)
Support for scikit-learn < 0.18 is dropped;
Formasaurus is no longer tested with Python 3.3;
tests are fixed to account for upstream changes; Python 3.6 build is enabled.
0.8 (2016-05-24)
more annotated data for captchas;
formasaurus init command which trains & caches the model.
0.7.2 (2016-04-18)
pip bug with pip install formasaurus[with-deps] is worked around; it should work now as pip install formasaurus[with_deps].
0.7.1 (2016-03-03)
fixed API documentation at readthedocs.org
0.7 (2016-03-03)
more annotated data;
new form_classes and field_classes attributes of FormFieldClassifer;
more robust web page encoding detection in formasaurus.utils.download;
bug fixes in annotation widgets;
0.6 (2016-01-27)
fields=False argument is supported in formasaurus.extract_forms, formasaurus.classify, formasaurus.classify_proba functions and in related FormFieldClassifier methods. It allows to avoid predicting form field types if they are not needed.
formasaurus.classifiers.instance() is renamed to formasaurus.classifiers.get_instance().
Bias is no longer regularized for form type classifier.
0.5 (2015-12-19)
This is a major backwards-incompatible release.
Formasaurus now can detect field types, not only form types;
API is changed - check the updated documentation;
there are more form types detected;
evaluation setup is improved;
annotation UI is rewritten using IPython widgets;
more training data is added.
0.2 (2015-08-10)
Python 3 support;
fixed model auto-creation.
0.1 (2015-07-09)
Initial release.
Metadata
Release files for formasaurus 0.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| formasaurus-0.10.0.tar.gz | 13.4 MB | Without provenance | Details for formasaurus-0.10.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| formasaurus-0.10.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for formasaurus-0.10.0-py2.py3-none-any.whl |
Total release size: 27.8 MB
Release files / formasaurus-0.10.0.tar.gz
| Download URL | formasaurus-0.10.0.tar.gz |
|---|---|
| Size | 13.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e2bfdd91ffac16ae3be2238b35e4b221e8902c73d62e85ba1791a02aeec6760d
|
|
BLAKE2b-256 checksum How to use checksums |
ea2f4a9ed3155cc87f323f8097b15e0f6b764c1cfe7843961938b6c9f850dc55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.7
|
Release files / formasaurus-0.10.0-py2.py3-none-any.whl
| Download URL | formasaurus-0.10.0-py2.py3-none-any.whl |
|---|---|
| Size | 14.4 MB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
67296f19fe5cdb7c714795315a6a3cc010f61e803cb9ee8f8c61017f82af51bf
|
|
BLAKE2b-256 checksum How to use checksums |
62c21f99749dbc93b0282e1f6c100c3e8d84a5ec32ee7657a50469176da83724
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.7
|
Security for formasaurus 0.10.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.