biip


Namebiip JSON
Version 3.5.0 PyPI version JSON
download
home_pagehttps://github.com/jodal/biip
SummaryBiip interprets the data in barcodes.
upload_time2024-10-03 18:28:41
maintainerNone
docs_urlNone
authorStein Magnus Jodal
requires_python<4.0.0,>=3.9.0
licenseApache-2.0
keywords barcodes ean isbn gs1 gtin upc
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # &#x1F4E6; Biip

_Biip interprets the data in barcodes._

[![Tests](https://img.shields.io/github/actions/workflow/status/jodal/biip/tests.yml?branch=main)](https://github.com/jodal/biip/actions/workflows/tests.yml)
[![Docs](https://img.shields.io/readthedocs/biip)](https://biip.readthedocs.io/en/latest/)
[![Coverage](https://img.shields.io/codecov/c/gh/jodal/biip)](https://codecov.io/gh/jodal/biip)
[![PyPI](https://img.shields.io/pypi/v/biip)](https://pypi.org/project/biip/)

---

Biip is a Python library for making sense of the data in barcodes.

The library can interpret the following formats:

- GTIN-8, GTIN-12, GTIN-13, and GTIN-14 numbers,
  commonly found in EAN-8, EAN-13, and ITF-14 barcodes.

- GS1 AI element strings,
  commonly found in GS1-128 barcodes.

- UPC-A and UPC-E numbers, as found in UPC-A and UPC-E barcodes.

For a quickstart guide and a complete API reference,
see the [documentation](https://biip.readthedocs.io/).

## Installation

Biip requires Python 3.9 or newer.

Biip is available from [PyPI](https://pypi.org/project/biip/):

```
python3 -m pip install biip
```

Optionally, with the help of `py-moneyed`, Biip can convert amounts with
currency information to `moneyed.Money` objects.
To install Biip with `py-moneyed`, run:

```
python3 -m pip install "biip[money]"
```

## Project resources

- [Documentation](https://biip.readthedocs.io/)
- [Source code](https://github.com/jodal/biip)
- [Releases](https://github.com/jodal/biip/releases)
- [Issue tracker](https://github.com/jodal/biip/issues)
- [Contributors](https://github.com/jodal/biip/graphs/contributors)
- [Users](https://github.com/jodal/biip/wiki/Users)

## Development status

All planned features have been implemented.
Please open an issue if you have any barcode parsing related needs that are not covered.

## Features

- GS1 (multiple Element Strings with Application Identifiers)
  - Recognize all specified Application Identifiers.
  - Recognize allocating GS1 Member Organization from the GS1 Company Prefix.
  - Recognize the GS1 Company Prefix.
  - Parse fixed-length Element Strings.
  - Parse variable-length Element Strings.
    - Support configuring the separation character.
  - Parse AI `00` as SSCC.
  - Parse AI `01` and `02` as GTIN.
  - Parse AI `410`-`417` as GLN.
  - Parse dates/times into `datetime.date`/`datetime.datetime` values.
    - Interpret the year to be within -49/+50 years from today.
    - Interpret dates with day "00" as the last day of the month.
  - Parse variable measurement fields into `Decimal` values.
  - Parse discount percentage into `Decimal` values.
  - Parse amounts into `Decimal` values.
    - Additionally, if py-moneyed is installed,
      parse amounts with currency into `Money` values.
  - Encode as Human Readable Interpretation (HRI),
    e.g. with parenthesis around the AI numbers.
  - Parse Human Readable Interpretation (HRI) strings.
  - Easy lookup of parsed Element Strings by:
    - Application Identifier (AI) prefix
    - Part of AI's data title
- GLN (Global Location Number)
  - Parse.
  - Extract and validate check digit.
  - Extract GS1 Prefix.
  - Extract GS1 Company Prefix.
- GTIN (Global Trade Item Number)
  - Parse GTIN-8, e.g. from EAN-8 barcodes.
  - Parse GTIN-12, e.g. from UPC-A and UPC-E barcodes.
  - Parse GTIN-13, e.g. from EAN-13 barcodes.
  - Parse GTIN-14, e.g. from ITF-14 and GS1-128 barcodes.
  - Extract and validate check digit.
  - Extract GS1 Prefix.
  - Extract GS1 Company Prefix.
  - Extract packaging level digit from GTIN-14.
  - Encode GTIN-8 as GTIN-12/13/14.
  - Encode GTIN-12 as GTIN-13/14.
  - Encode GTIN-13 as GTIN-14.
- RCN (Restricted Circulation Numbers), a subset of GTINs
  - Classification of RCN usage to either a geographical region or a company.
  - Parsing of variable measurements (price/weight) into `Decimal`
    values.
  - Parsing of price values into `Money` values if `py-moneyed` is
    installed and the region's RCN parsing rules specifies a currency.
  - Denmark: Parsing of weight and price.
  - Estland: Parsing of weight.
  - Finland: Parsing of weight.
  - Germany: Parsing of weight, price, and count, including validation of
    measurement check digit.
  - Great Britain: Parsing of price, including validation of measurement check
    digit.
  - Latvia: Parsing of weight.
  - Lithuania: Parsing of weight.
  - Norway: Parsing of weight and price.
  - Sweden: Parsing of weight and price.
  - Encode RCN with the variable measure part zeroed out,
    to help looking up the correct trade item.
- SSCC (Serial Shipping Container Code)
  - Extract and validate check digit.
  - Extract GS1 Prefix.
  - Extract GS1 Company Prefix.
  - Extract extension digit.
  - Encode for human consumption, with the logical groups separated by whitespace.
- UPC (Universal Product Code)
  - Parse 12-digit UPC-A.
  - Parse 6-digit UPC-E, with implicit number system 0 and no check digit.
  - Parse 7-digit UPC-E, with explicit number system and no check digit.
  - Parse 8-digit UPC-E, with explicit number system and a check digit.
  - Expand UPC-E to UPC-A.
  - Suppress UPC-A to UPC-E, for the values where it is supported.
- Symbology Identifiers, e.g. `]EO`
  - Recognize all specified Symbology Identifier code characters.
  - Strip Symbology Identifiers before parsing the remainder.
  - Use Symbology Identifiers when automatically selecting what parser to use.

## License

Copyright 2020-2024 Stein Magnus Jodal and contributors.
Licensed under the
[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jodal/biip",
    "name": "biip",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.9.0",
    "maintainer_email": null,
    "keywords": "barcodes, ean, isbn, gs1, gtin, upc",
    "author": "Stein Magnus Jodal",
    "author_email": "stein.magnus@jodal.no",
    "download_url": "https://files.pythonhosted.org/packages/34/4d/91331de46ca55bcc2124fcf7c4203d2581e1ee124da1482767f99b44d478/biip-3.5.0.tar.gz",
    "platform": null,
    "description": "# &#x1F4E6; Biip\n\n_Biip interprets the data in barcodes._\n\n[![Tests](https://img.shields.io/github/actions/workflow/status/jodal/biip/tests.yml?branch=main)](https://github.com/jodal/biip/actions/workflows/tests.yml)\n[![Docs](https://img.shields.io/readthedocs/biip)](https://biip.readthedocs.io/en/latest/)\n[![Coverage](https://img.shields.io/codecov/c/gh/jodal/biip)](https://codecov.io/gh/jodal/biip)\n[![PyPI](https://img.shields.io/pypi/v/biip)](https://pypi.org/project/biip/)\n\n---\n\nBiip is a Python library for making sense of the data in barcodes.\n\nThe library can interpret the following formats:\n\n- GTIN-8, GTIN-12, GTIN-13, and GTIN-14 numbers,\n  commonly found in EAN-8, EAN-13, and ITF-14 barcodes.\n\n- GS1 AI element strings,\n  commonly found in GS1-128 barcodes.\n\n- UPC-A and UPC-E numbers, as found in UPC-A and UPC-E barcodes.\n\nFor a quickstart guide and a complete API reference,\nsee the [documentation](https://biip.readthedocs.io/).\n\n## Installation\n\nBiip requires Python 3.9 or newer.\n\nBiip is available from [PyPI](https://pypi.org/project/biip/):\n\n```\npython3 -m pip install biip\n```\n\nOptionally, with the help of `py-moneyed`, Biip can convert amounts with\ncurrency information to `moneyed.Money` objects.\nTo install Biip with `py-moneyed`, run:\n\n```\npython3 -m pip install \"biip[money]\"\n```\n\n## Project resources\n\n- [Documentation](https://biip.readthedocs.io/)\n- [Source code](https://github.com/jodal/biip)\n- [Releases](https://github.com/jodal/biip/releases)\n- [Issue tracker](https://github.com/jodal/biip/issues)\n- [Contributors](https://github.com/jodal/biip/graphs/contributors)\n- [Users](https://github.com/jodal/biip/wiki/Users)\n\n## Development status\n\nAll planned features have been implemented.\nPlease open an issue if you have any barcode parsing related needs that are not covered.\n\n## Features\n\n- GS1 (multiple Element Strings with Application Identifiers)\n  - Recognize all specified Application Identifiers.\n  - Recognize allocating GS1 Member Organization from the GS1 Company Prefix.\n  - Recognize the GS1 Company Prefix.\n  - Parse fixed-length Element Strings.\n  - Parse variable-length Element Strings.\n    - Support configuring the separation character.\n  - Parse AI `00` as SSCC.\n  - Parse AI `01` and `02` as GTIN.\n  - Parse AI `410`-`417` as GLN.\n  - Parse dates/times into `datetime.date`/`datetime.datetime` values.\n    - Interpret the year to be within -49/+50 years from today.\n    - Interpret dates with day \"00\" as the last day of the month.\n  - Parse variable measurement fields into `Decimal` values.\n  - Parse discount percentage into `Decimal` values.\n  - Parse amounts into `Decimal` values.\n    - Additionally, if py-moneyed is installed,\n      parse amounts with currency into `Money` values.\n  - Encode as Human Readable Interpretation (HRI),\n    e.g. with parenthesis around the AI numbers.\n  - Parse Human Readable Interpretation (HRI) strings.\n  - Easy lookup of parsed Element Strings by:\n    - Application Identifier (AI) prefix\n    - Part of AI's data title\n- GLN (Global Location Number)\n  - Parse.\n  - Extract and validate check digit.\n  - Extract GS1 Prefix.\n  - Extract GS1 Company Prefix.\n- GTIN (Global Trade Item Number)\n  - Parse GTIN-8, e.g. from EAN-8 barcodes.\n  - Parse GTIN-12, e.g. from UPC-A and UPC-E barcodes.\n  - Parse GTIN-13, e.g. from EAN-13 barcodes.\n  - Parse GTIN-14, e.g. from ITF-14 and GS1-128 barcodes.\n  - Extract and validate check digit.\n  - Extract GS1 Prefix.\n  - Extract GS1 Company Prefix.\n  - Extract packaging level digit from GTIN-14.\n  - Encode GTIN-8 as GTIN-12/13/14.\n  - Encode GTIN-12 as GTIN-13/14.\n  - Encode GTIN-13 as GTIN-14.\n- RCN (Restricted Circulation Numbers), a subset of GTINs\n  - Classification of RCN usage to either a geographical region or a company.\n  - Parsing of variable measurements (price/weight) into `Decimal`\n    values.\n  - Parsing of price values into `Money` values if `py-moneyed` is\n    installed and the region's RCN parsing rules specifies a currency.\n  - Denmark: Parsing of weight and price.\n  - Estland: Parsing of weight.\n  - Finland: Parsing of weight.\n  - Germany: Parsing of weight, price, and count, including validation of\n    measurement check digit.\n  - Great Britain: Parsing of price, including validation of measurement check\n    digit.\n  - Latvia: Parsing of weight.\n  - Lithuania: Parsing of weight.\n  - Norway: Parsing of weight and price.\n  - Sweden: Parsing of weight and price.\n  - Encode RCN with the variable measure part zeroed out,\n    to help looking up the correct trade item.\n- SSCC (Serial Shipping Container Code)\n  - Extract and validate check digit.\n  - Extract GS1 Prefix.\n  - Extract GS1 Company Prefix.\n  - Extract extension digit.\n  - Encode for human consumption, with the logical groups separated by whitespace.\n- UPC (Universal Product Code)\n  - Parse 12-digit UPC-A.\n  - Parse 6-digit UPC-E, with implicit number system 0 and no check digit.\n  - Parse 7-digit UPC-E, with explicit number system and no check digit.\n  - Parse 8-digit UPC-E, with explicit number system and a check digit.\n  - Expand UPC-E to UPC-A.\n  - Suppress UPC-A to UPC-E, for the values where it is supported.\n- Symbology Identifiers, e.g. `]EO`\n  - Recognize all specified Symbology Identifier code characters.\n  - Strip Symbology Identifiers before parsing the remainder.\n  - Use Symbology Identifiers when automatically selecting what parser to use.\n\n## License\n\nCopyright 2020-2024 Stein Magnus Jodal and contributors.\nLicensed under the\n[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0).\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Biip interprets the data in barcodes.",
    "version": "3.5.0",
    "project_urls": {
        "Documentation": "https://biip.readthedocs.io",
        "Homepage": "https://github.com/jodal/biip",
        "Repository": "https://github.com/jodal/biip"
    },
    "split_keywords": [
        "barcodes",
        " ean",
        " isbn",
        " gs1",
        " gtin",
        " upc"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e77ad433616ff80cf82e6b2a833b615b24b285a72d37c51b1dcb3ceec034b2e6",
                "md5": "51148a073e0ab1f3bf8b0d7554fc3068",
                "sha256": "ba4b6cfc21c1f941b16444bfff53c5058325cf043a554dba078a2a3fa5c3eb22"
            },
            "downloads": -1,
            "filename": "biip-3.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "51148a073e0ab1f3bf8b0d7554fc3068",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.9.0",
            "size": 160482,
            "upload_time": "2024-10-03T18:28:39",
            "upload_time_iso_8601": "2024-10-03T18:28:39.836405Z",
            "url": "https://files.pythonhosted.org/packages/e7/7a/d433616ff80cf82e6b2a833b615b24b285a72d37c51b1dcb3ceec034b2e6/biip-3.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "344d91331de46ca55bcc2124fcf7c4203d2581e1ee124da1482767f99b44d478",
                "md5": "b9f4596c74cbdf730bcf02c1392946d9",
                "sha256": "125c57a59859216d3d097d2e4a4605a4ddf36478108ce091c938fd069ea05407"
            },
            "downloads": -1,
            "filename": "biip-3.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b9f4596c74cbdf730bcf02c1392946d9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0.0,>=3.9.0",
            "size": 155705,
            "upload_time": "2024-10-03T18:28:41",
            "upload_time_iso_8601": "2024-10-03T18:28:41.411102Z",
            "url": "https://files.pythonhosted.org/packages/34/4d/91331de46ca55bcc2124fcf7c4203d2581e1ee124da1482767f99b44d478/biip-3.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-03 18:28:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jodal",
    "github_project": "biip",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "biip"
}
        
Elapsed time: 0.36991s