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
This project is basically to draw lines with your hand, using python, opencv, mediapipe.

Paint Opencv 📷 This project is basically to draw lines with your hand, using python, opencv, mediapipe. Screenshoots 📱 Tools ⚙️ Python Opencv Mediap

Williams Ismael Bobadilla Torres 3 Nov 17, 2021
Ready-to-use OCR with 80+ supported languages and all popular writing scripts including Latin, Chinese, Arabic, Devanagari, Cyrillic and etc.

EasyOCR Ready-to-use OCR with 80+ languages supported including Chinese, Japanese, Korean and Thai. What's new 1 February 2021 - Version 1.2.3 Add set

Jaided AI 16.7k Jan 03, 2023
This is the official PyTorch implementation of the paper "TransFG: A Transformer Architecture for Fine-grained Recognition" (Ju He, Jie-Neng Chen, Shuai Liu, Adam Kortylewski, Cheng Yang, Yutong Bai, Changhu Wang, Alan Yuille).

TransFG: A Transformer Architecture for Fine-grained Recognition Official PyTorch code for the paper: TransFG: A Transformer Architecture for Fine-gra

Ju He 307 Jan 03, 2023
Scene text recognition

AttentionOCR for Arbitrary-Shaped Scene Text Recognition Introduction This is the ranked No.1 tensorflow based scene text spotting algorithm on ICDAR2

777 Jan 09, 2023
Tools for manipulating and evaluating the hOCR format for representing multi-lingual OCR results by embedding them into HTML.

hocr-tools About About the code Installation System-wide with pip System-wide from source virtualenv Available Programs hocr-check -- check the hOCR f

OCRopus 285 Dec 08, 2022
Code for the paper "Controllable Video Captioning with an Exemplar Sentence"

SMCG Code for the paper "Controllable Video Captioning with an Exemplar Sentence" Introduction We investigate a novel and challenging task, namely con

10 Dec 04, 2022
OCR of Chicago 1909 Renumbering Plan

Requirements: Python 3 (probably at least 3.4) pipenv (pip3 install pipenv) tesseract (brew install tesseract, at least if you have a mac and homebrew

ted whalen 2 Nov 21, 2021
TextBoxes++: A Single-Shot Oriented Scene Text Detector

TextBoxes++: A Single-Shot Oriented Scene Text Detector Introduction This is an application for scene text detection (TextBoxes++) and recognition (CR

Minghui Liao 930 Jan 04, 2023
基于openpose和图像分类的手语识别项目

手语识别 0、使用到的模型 (1). openpose,作者:CMU-Perceptual-Computing-Lab https://github.com/CMU-Perceptual-Computing-Lab/openpose (2). 图像分类classification,作者:Bubbl

20 Dec 15, 2022
A synthetic data generator for text recognition

TextRecognitionDataGenerator A synthetic data generator for text recognition What is it for? Generating text image samples to train an OCR software. N

Edouard Belval 2.5k Jan 04, 2023
Official code for "Bridging Video-text Retrieval with Multiple Choice Questions", CVPR 2022 (Oral).

Bridging Video-text Retrieval with Multiple Choice Questions, CVPR 2022 (Oral) Paper | Project Page | Pre-trained Model | CLIP-Initialized Pre-trained

Applied Research Center (ARC), Tencent PCG 99 Jan 06, 2023
Semantic-based Patch Detection for Binary Programs

PMatch Semantic-based Patch Detection for Binary Programs Requirement tensorflow-gpu 1.13.1 numpy 1.16.2 scikit-learn 0.20.3 ssdeep 3.4 Usage tar -xvz

Mr.Curiosity 3 Sep 02, 2022
Python bindings for JIGSAW: a Delaunay-based unstructured mesh generator.

JIGSAW: An unstructured mesh generator JIGSAW is an unstructured mesh generator and tessellation library; designed to generate high-quality triangulat

Darren Engwirda 26 Dec 13, 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
Characterizing possible failure modes in physics-informed neural networks.

Characterizing possible failure modes in physics-informed neural networks This repository contains the PyTorch source code for the experiments in the

Aditi Krishnapriyan 55 Jan 02, 2023
PianoVisuals - Create background videos synced with piano music using opencv

Steps Record piano video Use Neural Network to do body segmentation (video matti

Solbiati Alessandro 4 Jan 24, 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
This is the implementation of the paper "Gated Recurrent Convolution Neural Network for OCR"

Gated Recurrent Convolution Neural Network for OCR This project is an implementation of the GRCNN for OCR. For details, please refer to the paper: htt

90 Dec 22, 2022
A tool to make dumpy among us GIFS

Among Us Dumpy Gif Maker Made by ThatOneCalculator & Pixer415 With help from Telk, karl-police, and auguwu! Please credit this repository when you use

Kainoa Kanter 535 Jan 07, 2023
Generates a message from the infamous Jerma Impostor image

Generate your very own jerma sus imposter message. Modes: Default Mode: Only supports the characters " ", !, a, b, c, d, e, h, i, m, n, o, p, q, r, s,

Giorno420 1 Oct 27, 2022