An unofficial package help developers to implement ZATCA (Fatoora) QR code easily which required for e-invoicing

Overview

ZATCA (Fatoora) QR-Code Implementation

An unofficial package help developers to implement ZATCA (Fatoora) QR code easily which required for e-invoicing

PyPI - Python Version PyPI License Code style: black test-fatoora Upload Python Package

Requirements

  • python >= 3.8
  • zbar-tools

Installation

You can install the package via pypi (pip):

$ pip3 install fatoora

or via github (git):

$ git clone https://github.com/TheAwiteb/fatoora/
$ cd fatoora
$ python3 setup.py install

Usage

Generate Base64

from fatoora import Fatoora

fatoora_obj = Fatoora(
    seller_name="Awiteb",
    tax_number=1234567891, # or "1234567891"
    invoice_date="2021-07-12T14:25:09+00:00", # ISO8601 @see https://en.wikipedia.org/wiki/ISO_8601
    total_amount=100, # or 100.0, 100.00, "100.0", "100.00"
    tax_amount=15, # or 15.0, 15.00, "15.0", "15.00"
)

print(fatoora_obj.base64)
# AQZBd2l0ZWICCjEyMzQ1Njc4OTEDFDIwMjEtMDctMTJUMTQ6MjU6MDlaBAYxMDAuMDAFBTE1LjAw

Render A QR Code Image

You can render the tags as QR code image easily

from fatoora import Fatoora

fatoora_obj = Fatoora(
    seller_name="Awiteb",
    tax_number=1234567891,
    invoice_date="2021-07-12T14:25:09+00:00", 
    total_amount=100,
    tax_amount=15,
)

fatoora_obj.qrcode("qr_code.png")

Generate hash (sha256)

from fatoora import Fatoora

fatoora_obj = Fatoora(
    seller_name="Awiteb",
    tax_number=1234567891, 
    invoice_date="2021-07-12T14:25:09+00:00", 
    total_amount=100, 
    tax_amount=15, 
)

print(fatoora_obj.hash)
# 7074ff5ad3b05534744037778ad1542e3c8057acd8308f50b95c7834f4955ed0

Read qr code

from fatoora import Fatoora

fatoora_obj = Fatoora(
    seller_name="Awiteb",
    tax_number=1234567891, 
    invoice_date="2021-07-12T14:25:09+00:00", 
    total_amount=100, 
    tax_amount=15, 
)

fatoora_obj.qrcode("qr_code.png")

print(Fatoora.read_qrcode("qr_code.png", dct=True))
# {'seller_name': 'Awiteb', 'tax_number': '1234567891', 'invoice_date': '2021-07-12T14:25:09+00:00', 'total_amount': '100.00', 'tax_amount': '15.00'}

print(Fatoora.read_qrcode("qr_code.png", dct=False))
# AQZBd2l0ZWICCjEyMzQ1Njc4OTEDFDIwMjEtMDctMTJUMTQ6MjU6MDlaBAYxMDAuMDAFBTE1LjAw

Extra Methods

fatoora_obj = Fatoora(
    seller_name="Awiteb",
    tax_number=1234567891, 
    invoice_date="2021-07-12T14:25:09+00:00", 
    total_amount=100, 
    tax_amount=15, 
)

print(fatoora_obj.invoice_date.year)
# 2021

print(fatoora_obj.invoice_date.isoformat())
# 2021-07-12T14:25:09+00:00

print(fatoora_obj.invoice_date.timestamp())
#1626099909.0

print(fatoora_obj.json())
# "{"seller_name": "Awiteb", "tax_number": "1234567891", "invoice_date": "2021-07-12T14:25:09+00:00", "total_amount": "100.00", "tax_amount": "15.00"}"

print(fatoora_obj.dict())
# {'seller_name': 'Awiteb', 'tax_number': '1234567891', 'invoice_date': '2021-07-12T14:25:09+00:00', 'total_amount': '100.00', 'tax_amount': '15.00'}

# Use class to get fatoora details by base64

print(Fatoora.base2dict(fatoora_obj.base64))
# {'seller_name': 'Awiteb', 'tax_number': '1234567891', 'invoice_date': '2021-07-12T14:25:09+00:00', 'total_amount': '100.00', 'tax_amount': '15.00'}

Security

If you discover any security related issues.

License

The MIT License (MIT). Please see License File for more information.

Comments
  • invoice date timestamp not work with VAT app

    invoice date timestamp not work with VAT app

    you have issue with invoice date timestamp invoice date must be datetime as string not timestamp float..

    datetime must be convert to string using this patch code:

    invoice_date.isoformat()[:-6] + "Z",


    Thank you for this package Best regards,

    bug 
    opened by EngFarisAlsmawi 4
  • Resolve

    Resolve "Refactor code and remove type annotate."

    What does this MR do and why?

    This PR is for refactoring and maintaining code:

    • [x] Refactor optimizeized imports.
    • [x] Removed unused variables.
    • [x] Removed type annotate.

    Screenshots or screen recordings

    N/A

    How to set up and validate locally

    1. Run the test for the project.
    opened by dhiaashalabi 2
  • [Bug]: `read_qrcode` panic when read a qr code contain a url

    [Bug]: `read_qrcode` panic when read a qr code contain a url

    Checks

    • [X] I added a descriptive title to this issue
    • [X] I have searched (google, github) for similar issues and couldn't find anything
    • [X] I have read and followed the docs and still think this is a bug

    Bug

    When trying to read a qr code contain a url and set the value of dct to True, the function will panic

    Code

    from fatoora import Fatoora
    
    
    obj = Fatoora(
        seller_name="Awiteb",
        tax_number=1234567891,
        invoice_date=1635872693.3186214,
        total_amount=100,
        tax_amount=15,
        qrcode_url="https://example.com",
    )
    
    obj.qrcode("tests.png")
    obj.read_qrcode("tests.png", dct=True)
    

    Error message

    Traceback (most recent call last):
      File "~/Desktop/projects/python-projects/fatoora/t.py", line 14, in <module>
        obj.read_qrcode("tests.png", dct=True)
      File "~/Desktop/projects/python-projects/fatoora/fatoora/fatoora.py", line 127, in read_qrcode
        return cls.base2dict(data)
      File "~/Desktop/projects/python-projects/fatoora/fatoora/fatoora.py", line 98, in base2dict
        decoded = base64.b64decode(base)
      File "/usr/lib/python3.10/base64.py", line 87, in b64decode
        return binascii.a2b_base64(s)
    binascii.Error: Invalid base64-encoded string: number of data characters (17) cannot be 1 more than a multiple of 4
    
    bug good first issue 
    opened by TheAwiteb 0
  • Bump numpy from 1.21.5 to 1.22.0

    Bump numpy from 1.21.5 to 1.22.0

    Bumps numpy from 1.21.5 to 1.22.0.

    Release notes

    Sourced from numpy's releases.

    v1.22.0

    NumPy 1.22.0 Release Notes

    NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. There have been many improvements, highlights are:

    • Annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release.
    • A preliminary version of the proposed Array-API is provided. This is a step in creating a standard collection of functions that can be used across application such as CuPy and JAX.
    • NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data.
    • New methods for quantile, percentile, and related functions. The new methods provide a complete set of the methods commonly found in the literature.
    • A new configurable allocator for use by downstream projects.

    These are in addition to the ongoing work to provide SIMD support for commonly used functions, improvements to F2PY, and better documentation.

    The Python versions supported in this release are 3.8-3.10, Python 3.7 has been dropped. Note that 32 bit wheels are only provided for Python 3.8 and 3.9 on Windows, all other wheels are 64 bits on account of Ubuntu, Fedora, and other Linux distributions dropping 32 bit support. All 64 bit wheels are also linked with 64 bit integer OpenBLAS, which should fix the occasional problems encountered by folks using truly huge arrays.

    Expired deprecations

    Deprecated numeric style dtype strings have been removed

    Using the strings "Bytes0", "Datetime64", "Str0", "Uint32", and "Uint64" as a dtype will now raise a TypeError.

    (gh-19539)

    Expired deprecations for loads, ndfromtxt, and mafromtxt in npyio

    numpy.loads was deprecated in v1.15, with the recommendation that users use pickle.loads instead. ndfromtxt and mafromtxt were both deprecated in v1.17 - users should use numpy.genfromtxt instead with the appropriate value for the usemask parameter.

    (gh-19615)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump pillow from 9.1.0 to 9.1.1

    Bump pillow from 9.1.0 to 9.1.1

    Bumps pillow from 9.1.0 to 9.1.1.

    Release notes

    Sourced from pillow's releases.

    9.1.1

    This release addresses several security problems.

    CVE-2022-30595: When reading a TGA file with RLE packets that cross scan lines, Pillow reads the information past the end of the first line without deducting that from the length of the remaining file data. This vulnerability was introduced in Pillow 9.1.0, and can cause a heap buffer overflow.

    Opening an image with a zero or negative height has been found to bypass a decompression bomb check. This will now raise a SyntaxError instead, in turn raising a PIL.UnidentifiedImageError.

    Changelog

    Sourced from pillow's changelog.

    9.1.1 (2022-05-17)

    • When reading past the end of a TGA scan line, reduce bytes left. CVE-2022-30595 [radarhere]

    • Do not open images with zero or negative height #6269 [radarhere]

    Commits
    • 0f44136 9.1.1 version bump
    • f66f5e1 pre-commit: update Black to fix Click
    • 0153b37 Skip test_realloc_overflow unless libtiff 4.0.4 or higher
    • 6fcd31b Added release notes for 9.1.1
    • c846cc8 When reading past the end of a scan line, reduce bytes left
    • 184b73e Do not open images with zero or negative height
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Make zbar optional, or replace it

    Make zbar optional, or replace it

    Bug

    zbar is an old library that is being removed from different Linux repositories. I suggest that instead of make it a mandatory, we make it optional (via a try/except) and the read_qrcode throws an exception if zbar is not installed (as I see, it's used only for decoding the QR image).

    Or (better), we replace it with something else, if exists.

    Thanks for working on this. Helped a lot implementing ZATCA's e-invoicing :)

    bug help wanted good first issue 
    opened by SafaAlfulaij 0
  • Bump pillow from 9.0.0 to 9.0.1

    Bump pillow from 9.0.0 to 9.0.1

    Bumps pillow from 9.0.0 to 9.0.1.

    Release notes

    Sourced from pillow's releases.

    9.0.1

    https://pillow.readthedocs.io/en/stable/releasenotes/9.0.1.html

    Changes

    • In show_file, use os.remove to remove temporary images. CVE-2022-24303 #6010 [@​radarhere, @​hugovk]
    • Restrict builtins within lambdas for ImageMath.eval. CVE-2022-22817 #6009 [radarhere]
    Changelog

    Sourced from pillow's changelog.

    9.0.1 (2022-02-03)

    • In show_file, use os.remove to remove temporary images. CVE-2022-24303 #6010 [radarhere, hugovk]

    • Restrict builtins within lambdas for ImageMath.eval. CVE-2022-22817 #6009 [radarhere]

    Commits
    • 6deac9e 9.0.1 version bump
    • c04d812 Update CHANGES.rst [ci skip]
    • 4fabec3 Added release notes for 9.0.1
    • 02affaa Added delay after opening image with xdg-open
    • ca0b585 Updated formatting
    • 427221e In show_file, use os.remove to remove temporary images
    • c930be0 Restrict builtins within lambdas for ImageMath.eval
    • 75b69dd Dont need to pin for GHA
    • cd938a7 Autolink CWE numbers with sphinx-issues
    • 2e9c461 Add CVE IDs
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump pillow from 8.4.0 to 9.0.0

    Bump pillow from 8.4.0 to 9.0.0

    Bumps pillow from 8.4.0 to 9.0.0.

    Release notes

    Sourced from pillow's releases.

    9.0.0

    https://pillow.readthedocs.io/en/stable/releasenotes/9.0.0.html

    Changes

    ... (truncated)

    Changelog

    Sourced from pillow's changelog.

    9.0.0 (2022-01-02)

    • Restrict builtins for ImageMath.eval(). CVE-2022-22817 #5923 [radarhere]

    • Ensure JpegImagePlugin stops at the end of a truncated file #5921 [radarhere]

    • Fixed ImagePath.Path array handling. CVE-2022-22815, CVE-2022-22816 #5920 [radarhere]

    • Remove consecutive duplicate tiles that only differ by their offset #5919 [radarhere]

    • Improved I;16 operations on big endian #5901 [radarhere]

    • Limit quantized palette to number of colors #5879 [radarhere]

    • Fixed palette index for zeroed color in FASTOCTREE quantize #5869 [radarhere]

    • When saving RGBA to GIF, make use of first transparent palette entry #5859 [radarhere]

    • Pass SAMPLEFORMAT to libtiff #5848 [radarhere]

    • Added rounding when converting P and PA #5824 [radarhere]

    • Improved putdata() documentation and data handling #5910 [radarhere]

    • Exclude carriage return in PDF regex to help prevent ReDoS #5912 [hugovk]

    • Fixed freeing pointer in ImageDraw.Outline.transform #5909 [radarhere]

    • Added ImageShow support for xdg-open #5897 [m-shinder, radarhere]

    • Support 16-bit grayscale ImageQt conversion #5856 [cmbruns, radarhere]

    • Convert subsequent GIF frames to RGB or RGBA #5857 [radarhere]

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Auto vat

    Auto vat

    • 𝙰𝚞𝚝𝚘𝚖𝚊𝚝𝚒𝚌𝚊𝚕𝚕𝚢 𝚍𝚎𝚍𝚞𝚌𝚝𝚒𝚗𝚐 𝚝𝚑𝚎 𝚝𝚊𝚡 𝚟𝚊𝚕𝚞𝚎 𝚏𝚛𝚘𝚖 𝚝𝚑𝚎 𝚝𝚘𝚝𝚊𝚕 𝚊𝚖𝚘𝚞𝚗𝚝 𝚒𝚏 𝚒𝚝𝚜 𝚟𝚊𝚕𝚞𝚎 𝚒𝚜 𝙽𝚘𝚗𝚎.
    • 𝚃𝚑𝚎 𝚙𝚘𝚜𝚜𝚒𝚋𝚒𝚕𝚒𝚝𝚢 𝚘𝚏 𝚌𝚑𝚊𝚗𝚐𝚒𝚗𝚐 𝚝𝚑𝚎 𝚝𝚊𝚡 𝚛𝚊𝚝𝚎 𝚟𝚒𝚊 𝚝𝚑𝚎 𝚟𝚊𝚛𝚒𝚊𝚋𝚕𝚎 𝚟𝚊𝚝_𝚛𝚊𝚝𝚎𝚜.

    𝙲𝚘𝚖𝚖𝚒𝚝𝚜

    • 7835589: 𝙲𝚑𝚊𝚗𝚐𝚎 𝚝𝚊𝚡 𝚊𝚖𝚘𝚞𝚗𝚝 𝚘𝚏 𝟷𝟷𝟻 𝚏𝚛𝚘𝚖 𝟷𝟻 𝚝𝚘 𝟷𝟽.𝟸𝟻.
    • 7ff429a: 𝙰𝚍𝚍 𝚏𝚊𝚝𝚘𝚘𝚛𝚊 𝚕𝚘𝚐𝚘, 𝚞𝚙𝚍𝚊𝚝𝚎 𝚎𝚡𝚊𝚖𝚙𝚕𝚎𝚜 𝚝𝚊𝚡_𝚊𝚖𝚘𝚞𝚗𝚝, 𝚞𝚙𝚍𝚊𝚝𝚎 𝚎𝚡𝚊𝚖𝚙𝚕𝚎𝚜 𝚛𝚎𝚜𝚞𝚕𝚝, 𝚊𝚍𝚍 𝚜𝚘𝚖𝚎 𝚗𝚘𝚝𝚎, 𝚊𝚗𝚍 𝙴𝚡𝚙𝚕𝚊𝚒𝚗 𝚝𝚑𝚎 𝚠𝚘𝚛𝚔 𝚘𝚏 𝚟𝚊𝚛𝚒𝚊𝚋𝚕𝚎𝚜
    • bcffb19: 𝙴𝚗𝚊𝚋𝚕𝚎𝚜 𝙰𝚞𝚝𝚘 𝚟𝚊𝚝

    𝙳𝚒𝚜𝚌𝚞𝚜𝚜𝚒𝚘𝚗𝚜

    𝙰𝚞𝚝𝚘 𝚟𝚊𝚝 𝚍𝚒𝚜𝚌𝚞𝚜𝚜𝚒𝚘𝚗 𝚑𝚎𝚛𝚎 #9

    opened by TheAwiteb 0
  • fix #6

    fix #6

    Changes

    fixed #6

    fatoora/fatoora.py

    total_amount, tax_amount

    Remove auto-rounding to two decimal places from total_amount and tax_amount, Its property has also been modified, it now returns float as opposed to str previously

    is_valid_iso8601_zulu_format

    Function that checks text if it is a date in ISO 8601 Zulu format or not

    invoice_date

    setter

    Its setter has been modified to receive date as timestamp or datetime object, or string ISO 8601 Zulu format

    property

    No modification has been made to its property, it is returning a datetime object yet

    tests/fatoora_test.py

    Only the invoice date in fatoora_details has been changed from timestamp to ISO 8601 Zulu to match the changes that have occurred and the type has also been changed to float the tests for total_amount and tax_amount to match the changes that have occurred

    discuss

    Any discussion regarding the new changes in this update will be made here

    opened by TheAwiteb 0
Releases(v3.0.3)
  • v3.0.3(Nov 3, 2022)

  • v3.0.2(Jun 23, 2022)

    What's Changed

    • Bump numpy from 1.21.5 to 1.22.0 by @dependabot in https://github.com/TheAwiteb/fatoora/pull/19

    Full Changelog: https://github.com/TheAwiteb/fatoora/compare/v3.0.1...v3.0.2

    Source code(tar.gz)
    Source code(zip)
  • v3.0.1(Jun 2, 2022)

    What's Changed

    • Bump pillow from 9.1.0 to 9.1.1 by @dependabot in https://github.com/TheAwiteb/fatoora/pull/18

    Full Changelog: https://github.com/TheAwiteb/fatoora/compare/v3.0.0...v3.0.1

    Source code(tar.gz)
    Source code(zip)
  • v3.0.0(Apr 6, 2022)

    What's Changed

    • Fix #15
    • Replace zbar with opencv by @TheAwiteb in https://github.com/TheAwiteb/fatoora/pull/16

    Full Changelog: https://github.com/TheAwiteb/fatoora/compare/v2.1.3...v3.0.0

    Source code(tar.gz)
    Source code(zip)
  • v2.1.3(Mar 20, 2022)

  • v2.1.2(Mar 15, 2022)

    What's Changed

    • Bump pillow from 9.0.0 to 9.0.1 by @dependabot in https://github.com/TheAwiteb/fatoora/pull/14

    Full Changelog: https://github.com/TheAwiteb/fatoora/compare/v2.1.1...v2.1.2

    Source code(tar.gz)
    Source code(zip)
  • v2.1.1(Jan 23, 2022)

    PyPi-fatoora-2.1.1

    What's Changed

    • Bump pillow from 8.4.0 to 9.0.0 by @dependabot in https://github.com/TheAwiteb/fatoora/pull/13

    New Contributors

    • @dependabot made their first contribution in https://github.com/TheAwiteb/fatoora/pull/13

    Full Changelog: https://github.com/TheAwiteb/fatoora/compare/v2.1.0...v2.1.1

    Source code(tar.gz)
    Source code(zip)
  • v2.1.0(Jan 22, 2022)

    • 𝙰𝚞𝚝𝚘𝚖𝚊𝚝𝚒𝚌𝚊𝚕𝚕𝚢 𝚍𝚎𝚍𝚞𝚌𝚝𝚒𝚗𝚐 𝚝𝚑𝚎 𝚝𝚊𝚡 𝚟𝚊𝚕𝚞𝚎 𝚏𝚛𝚘𝚖 𝚝𝚑𝚎 𝚝𝚘𝚝𝚊𝚕 𝚊𝚖𝚘𝚞𝚗𝚝 𝚒𝚏 𝚒𝚝𝚜 𝚟𝚊𝚕𝚞𝚎 𝚒𝚜 𝙽𝚘𝚗𝚎.
    • 𝚃𝚑𝚎 𝚙𝚘𝚜𝚜𝚒𝚋𝚒𝚕𝚒𝚝𝚢 𝚘𝚏 𝚌𝚑𝚊𝚗𝚐𝚒𝚗𝚐 𝚝𝚑𝚎 𝚝𝚊𝚡 𝚛𝚊𝚝𝚎 𝚟𝚒𝚊 𝚝𝚑𝚎 𝚟𝚊𝚛𝚒𝚊𝚋𝚕𝚎 𝚟𝚊𝚝_𝚛𝚊𝚝𝚎𝚜.

    𝙲𝚘𝚖𝚖𝚒𝚝𝚜

    • 7835589: 𝙲𝚑𝚊𝚗𝚐𝚎 𝚝𝚊𝚡 𝚊𝚖𝚘𝚞𝚗𝚝 𝚘𝚏 𝟷𝟷𝟻 𝚏𝚛𝚘𝚖 𝟷𝟻 𝚝𝚘 𝟷𝟽.𝟸𝟻.
    • 7ff429a: 𝙰𝚍𝚍 𝚏𝚊𝚝𝚘𝚘𝚛𝚊 𝚕𝚘𝚐𝚘, 𝚞𝚙𝚍𝚊𝚝𝚎 𝚎𝚡𝚊𝚖𝚙𝚕𝚎𝚜 𝚝𝚊𝚡_𝚊𝚖𝚘𝚞𝚗𝚝, 𝚞𝚙𝚍𝚊𝚝𝚎 𝚎𝚡𝚊𝚖𝚙𝚕𝚎𝚜 𝚛𝚎𝚜𝚞𝚕𝚝, 𝚊𝚍𝚍 𝚜𝚘𝚖𝚎 𝚗𝚘𝚝𝚎, 𝚊𝚗𝚍 𝙴𝚡𝚙𝚕𝚊𝚒𝚗 𝚝𝚑𝚎 𝚠𝚘𝚛𝚔 𝚘𝚏 𝚟𝚊𝚛𝚒𝚊𝚋𝚕𝚎𝚜
    • bcffb19: 𝙴𝚗𝚊𝚋𝚕𝚎𝚜 𝙰𝚞𝚝𝚘 𝚟𝚊𝚝

    𝙳𝚒𝚜𝚌𝚞𝚜𝚜𝚒𝚘𝚗𝚜

    𝙰𝚞𝚝𝚘 𝚟𝚊𝚝 𝚍𝚒𝚜𝚌𝚞𝚜𝚜𝚒𝚘𝚗 𝚑𝚎𝚛𝚎 #9

    𝙿𝚢𝙿𝚒

    𝙿𝚢𝙿𝚒-𝚏𝚊𝚝𝚘𝚘𝚛𝚊-𝟸.𝟷.𝟶

    What's Changed

    • Update README.md by @EngFarisAlsmawi in https://github.com/TheAwiteb/fatoora/pull/11
    • Auto vat by @TheAwiteb in https://github.com/TheAwiteb/fatoora/pull/12

    New Contributors

    • @EngFarisAlsmawi made their first contribution in https://github.com/TheAwiteb/fatoora/pull/11

    Full Changelog: https://github.com/TheAwiteb/fatoora/compare/v2.0.1...v2.1.0

    Source code(tar.gz)
    Source code(zip)
Owner
TheAwiteb
https://t.me/TheAwiteb
TheAwiteb
A python scripts that uses 3 different feature extraction methods such as SIFT, SURF and ORB to find a book in a video clip and project trailer of a movie based on that book, on to it.

A python scripts that uses 3 different feature extraction methods such as SIFT, SURF and ORB to find a book in a video clip and project trailer of a movie based on that book, on to it.

tooraj taraz 3 Feb 10, 2022
APS 6º Semestre - UNIP (2021)

UNIP - Universidade Paulista Ciência da Computação (CC) DESENVOLVIMENTO DE UM SISTEMA COMPUTACIONAL PARA ANÁLISE E CLASSIFICAÇÃO DE FORMAS Link do git

Eduardo Talarico 5 Mar 09, 2022
Convert PDF/Image to TXT using EasyOcr - the best OCR engine available!

PDFImage2TXT - DOWNLOAD INSTALLER HERE What can you do with it? Convert scanned PDFs to TXT. Convert scanned Documents to TXT. No coding required!! In

Hans Alemão 2 Feb 22, 2022
Read Japanese manga inside browser with selectable text.

mokuro Read Japanese manga with selectable text inside a browser. See demo: https://kha-white.github.io/manga-demo mokuro_demo.mp4 Demo contains excer

Maciej Budyś 170 Dec 27, 2022
a Deep Learning Framework for Text

DeLFT DeLFT (Deep Learning Framework for Text) is a Keras and TensorFlow framework for text processing, focusing on sequence labelling (e.g. named ent

Patrice Lopez 350 Dec 19, 2022
Virtualdragdrop - Virtual Drag and Drop Using OpenCV and Arduino

Virtualdragdrop - Virtual Drag and Drop Using OpenCV and Arduino

Rizky Dermawan 4 Mar 10, 2022
Face_mosaic - Mosaic blur processing is applied to multiple faces appearing in the video

動機 face_recognitionを使用して得られる顔座標は長方形であり、この座標をそのまま用いてぼかし処理を行った場合得られる画像は醜い。 それに対してモ

Yoshitsugu Kesamaru 6 Feb 03, 2022
This is a pytorch re-implementation of EAST: An Efficient and Accurate Scene Text Detector.

EAST: An Efficient and Accurate Scene Text Detector Description: This version will be updated soon, please pay attention to this work. The motivation

Dejia Song 544 Dec 20, 2022
Perspective recovery of text using transformed ellipses

unproject_text Perspective recovery of text using transformed ellipses. See full writeup at https://mzucker.github.io/2016/10/11/unprojecting-text-wit

Matt Zucker 111 Nov 13, 2022
This is the open source implementation of the ICLR2022 paper "StyleNeRF: A Style-based 3D-Aware Generator for High-resolution Image Synthesis"

StyleNeRF: A Style-based 3D-Aware Generator for High-resolution Image Synthesis StyleNeRF: A Style-based 3D-Aware Generator for High-resolution Image

Meta Research 840 Dec 26, 2022
OCR engine for all the languages

Description kraken is a turn-key OCR system optimized for historical and non-Latin script material. kraken's main features are: Fully trainable layout

431 Jan 04, 2023
Can We Find Neurons that Cause Unrealistic Images in Deep Generative Networks?

Can We Find Neurons that Cause Unrealistic Images in Deep Generative Networks? Artifact Detection/Correction - Offcial PyTorch Implementation This rep

CHOI HWAN IL 23 Dec 20, 2022
7th place solution

SIIM-FISABIO-RSNA-COVID-19-Detection 7th place solution Validation: We used iterative-stratification with 5 folds (https://github.com/trent-b/iterativ

11 Jul 17, 2022
The code of "Mask TextSpotter: An End-to-End Trainable Neural Network for Spotting Text with Arbitrary Shapes"

Mask TextSpotter A Pytorch implementation of Mask TextSpotter along with its extension can be find here Introduction This is the official implementati

Pengyuan Lyu 261 Nov 21, 2022
Binarize document images

Binarization Binarization for document images Examples Introduction This tool performs document image binarization (i.e. transform colour/grayscale to

QURATOR-SPK 48 Jan 02, 2023
Text recognition (optical character recognition) with deep learning methods.

What Is Wrong With Scene Text Recognition Model Comparisons? Dataset and Model Analysis | paper | training and evaluation data | failure cases and cle

Clova AI Research 3.2k Jan 04, 2023
Make OpenCV camera loops less of a chore by skipping the boilerplate and getting right to the interesting stuff

camloop Forget the boilerplate from OpenCV camera loops and get to coding the interesting stuff Table of Contents Usage Install Quickstart More advanc

Gabriel Lefundes 9 Nov 12, 2021
TextField: Learning A Deep Direction Field for Irregular Scene Text Detection (TIP 2019)

TextField: Learning A Deep Direction Field for Irregular Scene Text Detection Introduction The code and trained models of: TextField: Learning A Deep

Yukang Wang 101 Dec 12, 2022
This repository contains the code for the paper "SCANimate: Weakly Supervised Learning of Skinned Clothed Avatar Networks"

SCANimate: Weakly Supervised Learning of Skinned Clothed Avatar Networks (CVPR 2021 Oral) This repository contains the official PyTorch implementation

Shunsuke Saito 235 Dec 18, 2022
Document Image Dewarping

Document image dewarping using text-lines and line Segments Abstract Conventional text-line based document dewarping methods have problems when handli

Taeho Kil 268 Dec 23, 2022