pyfunc2


Namepyfunc2 JSON
Version 0.1.15 PyPI version JSON
download
home_pageNone
Summarylibs for cameramonit, ocr, fin-officer, cfo, and other projects
upload_time2024-07-14 13:11:48
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseApache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
keywords cameramonit console fin-officer framework terminal test time
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # [pyfunc2](http://lib.pyfunc.com)

libs for cameramonit, ocr, fin-officer, cfo, and other projects


## Install


```bash
pip install pyfunc2
```

```bash
git clone https://github.com/pyfunc/lib.git pyfunc
```


## Contributing

```bash
python3 -m venv pytest-env
source pytest-env/bin/activate
```

```bash
pip install --upgrade pip
pip install pytest
```

run the test, execute the pytest command:
```bash
pytest
```



## Tips

simple method to generate a requirements.txt file is to pipe them,
```bash
pip freeze > requirements.txt
```

## if push not possible

```
[remote rejected] (refusing to allow a Personal Access Token to create or update workflow `.github/workflows/python-app.yml` without `workflow` scope)
```

Problem z odrzuceniem tokena dostępu osobistego (Personal Access Token, PAT) podczas próby aktualizacji pliku workflow, 
musisz zaktualizować uprawnienia swojego tokena. 

### Oto kroki, które powinieneś podjąć:

1. Przejdź do ustawień GitHub:
   - Kliknij na swój awatar w prawym górnym rogu GitHub
   - Wybierz "Settings"

2. Przejdź do ustawień deweloperskich:
   - W lewym menu wybierz "Developer settings"

3. Zarządzaj tokenami dostępu:
   - Wybierz "Personal access tokens"
   - Następnie "Tokens (classic)"

4. Utwórz nowy token lub zaktualizuj istniejący:
   - Jeśli tworzysz nowy, kliknij "Generate new token"
   - Jeśli aktualizujesz istniejący, znajdź odpowiedni token i kliknij "Edit"

5. Dodaj uprawnienie "workflow":
   - Przewiń do sekcji "Select scopes"
   - Zaznacz pole obok "workflow"

6. Zapisz zmiany:
   - Przewiń na dół i kliknij "Generate token" (dla nowego) lub "Update token" (dla istniejącego)

7. Skopiuj nowy token:
   - Upewnij się, że skopiowałeś nowy token, ponieważ nie będziesz mógł go zobaczyć ponownie

8. Zaktualizuj token w swoim lokalnym repozytorium:
   - Jeśli używasz HTTPS, zaktualizuj swoje dane logowania
   - Jeśli używasz SSH, upewnij się, że Twój klucz SSH jest poprawnie skonfigurowany

9. Spróbuj ponownie wykonać push:
   - Użyj nowego tokena do autoryzacji

Pamiętaj, że tokeny dostępu osobistego są bardzo wrażliwe na bezpieczeństwo.
Traktuj je jak hasła i nigdy nie udostępniaj ich publicznie. Jeśli przypadkowo ujawnisz swój token, natychmiast go usuń i wygeneruj nowy.

Po wykonaniu tych kroków, powinieneś być w stanie zaktualizować plik workflow bez problemów. Jeśli nadal napotkasz problemy, upewnij się, że masz odpowiednie uprawnienia w repozytorium i że workflow nie są zablokowane przez ustawienia organizacji lub repozytorium.

# update PAT in repo
our local repo and want to push it to a remote repo.

create a PAT (personal access token): official doc here. Make sure to tick the box "workflow" when creating it.
In the terminal, instead of the classic

```bash
git remote add origin https://github.com/<account>/<repo>.git
```

swap it by
```bash
git remote add origin https://<PAT>@github.com/<account>/<repo>.git
```
example
```bash
# check
git remote -v
PAT=...
git remote add origin https://$PAT@github.com/pyfunc/lib.git
# OR update:
git remote set-url origin https://$PAT@github.com/pyfunc/lib.git
# check
git remote -v
git push
```

Follow-up with the classic git branch -M main and git push -u origin main

That worked for me. Hopefully for you too.

## pypi publishing

[Creating a PyPI Project with a Trusted Publisher - PyPI Docs](https://docs.pypi.org/trusted-publishers/creating-a-project-through-oidc/)



## Creating tags from the command line

To create a tag on your current branch, run this:
```bash
git tag <tagname>
```

If you want to include a description with your tag, add -a to create an annotated tag:
```bash
git tag <tagname> -a
```

This will create a local tag with the current state of the branch you are on. 
When pushing to your remote repo, tags are NOT included by default. 
You will need to explicitly say that you want to push your tags to your remote repo:
```bash
git push origin --tags
```

example:

```bash
git tag 0.1.12
git push origin --tags
```



## test

```bash
pip install build
pip install build hatchling
```


```bash
py -m build
```





## init

The `__init__.py` file is used to mark a directory as a Python package and can also be used to initialize code, define the package's public API, and handle package-level variables or imports.

Here’s a basic guide on preparing the `__init__.py` file for your project located in the `src/pyfunc2` directory.

### Basic `__init__.py`

1. **Creating the `__init__.py` File**:
   - Navigate to `src/pyfunc2/` directory.
   - Create an `__init__.py` file in this directory.

Here is a basic example of what this file might contain:



### Ensuring Proper Package Structure

Here's what your final project structure might look like:

```
my_project/
├── src/
│   └── pyfunc2/
│       ├── __init__.py
│       ├── module1.py
│       └── module2.py
├── pyproject.toml
├── README.md
└── requirements.txt
```







Hoe generate an `__init__.py` file automatically based on information in `pyproject.toml` typically

Let's break down how you can achieve this:

1. **Understand the data to be included in `__init__.py`**: Essentially, you might want to include metadata (like version), and possibly auto-imports of modules/classes/functions.

2. **Create a script to generate `__init__.py`**: This script would read `pyproject.toml`, extract the relevant information, and generate the `__init__.py` file.

### Step-by-Step Guide

#### Step 1: Install Required Libraries

You will need `toml` for parsing `pyproject.toml`. Install it using `pip`.

```bash
pip install toml
```

#### Step 2: generate_init.py

Create a Python script, e.g., `generate_init.py`, at the root of your project:

Ensure that your `generate_init.py` script runs as part of your build process in your GitHub Actions workflow.

Here's an updated GitHub Actions workflow to include the script execution:

```bash
py generate_init.py -p src/pyfunc2
py generate_init.py -p src/pyfunc2/config
py generate_init.py -p src/pyfunc2/csv
py generate_init.py -p src/pyfunc2/email
py generate_init.py -p src/pyfunc2/file
py generate_init.py -p src/pyfunc2/function
py generate_init.py -p src/pyfunc2/github
py generate_init.py -p src/pyfunc2/local
py generate_init.py -p src/pyfunc2/markdown
py generate_init.py -p src/pyfunc2/ml
py generate_init.py -p src/pyfunc2/ocr
py generate_init.py -p src/pyfunc2/report
py generate_init.py -p src/pyfunc2/serialization
py generate_init.py -p src/pyfunc2/text

```

```bash
py -m build
```

```bash
pip install dist/pyfunc2-0.1.15-py3-none-any.whl
```
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pyfunc2",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "pyfunc developers <info@softreck.dev>",
    "keywords": "cameramonit, console, fin-officer, framework, terminal, test, time",
    "author": null,
    "author_email": "Tom Sapletta <tom@sapletta.com>",
    "download_url": "https://files.pythonhosted.org/packages/23/4d/891f69b2a111c53531712c47bd24e2b64149b20516852e52e4a45588c044/pyfunc2-0.1.15.tar.gz",
    "platform": null,
    "description": "# [pyfunc2](http://lib.pyfunc.com)\n\nlibs for cameramonit, ocr, fin-officer, cfo, and other projects\n\n\n## Install\n\n\n```bash\npip install pyfunc2\n```\n\n```bash\ngit clone https://github.com/pyfunc/lib.git pyfunc\n```\n\n\n## Contributing\n\n```bash\npython3 -m venv pytest-env\nsource pytest-env/bin/activate\n```\n\n```bash\npip install --upgrade pip\npip install pytest\n```\n\nrun the test, execute the pytest command:\n```bash\npytest\n```\n\n\n\n## Tips\n\nsimple method to generate a requirements.txt file is to pipe them,\n```bash\npip freeze > requirements.txt\n```\n\n## if push not possible\n\n```\n[remote rejected] (refusing to allow a Personal Access Token to create or update workflow `.github/workflows/python-app.yml` without `workflow` scope)\n```\n\nProblem z odrzuceniem tokena dost\u0119pu osobistego (Personal Access Token, PAT) podczas pr\u00f3by aktualizacji pliku workflow, \nmusisz zaktualizowa\u0107 uprawnienia swojego tokena. \n\n### Oto kroki, kt\u00f3re powiniene\u015b podj\u0105\u0107:\n\n1. Przejd\u017a do ustawie\u0144 GitHub:\n   - Kliknij na sw\u00f3j awatar w prawym g\u00f3rnym rogu GitHub\n   - Wybierz \"Settings\"\n\n2. Przejd\u017a do ustawie\u0144 deweloperskich:\n   - W lewym menu wybierz \"Developer settings\"\n\n3. Zarz\u0105dzaj tokenami dost\u0119pu:\n   - Wybierz \"Personal access tokens\"\n   - Nast\u0119pnie \"Tokens (classic)\"\n\n4. Utw\u00f3rz nowy token lub zaktualizuj istniej\u0105cy:\n   - Je\u015bli tworzysz nowy, kliknij \"Generate new token\"\n   - Je\u015bli aktualizujesz istniej\u0105cy, znajd\u017a odpowiedni token i kliknij \"Edit\"\n\n5. Dodaj uprawnienie \"workflow\":\n   - Przewi\u0144 do sekcji \"Select scopes\"\n   - Zaznacz pole obok \"workflow\"\n\n6. Zapisz zmiany:\n   - Przewi\u0144 na d\u00f3\u0142 i kliknij \"Generate token\" (dla nowego) lub \"Update token\" (dla istniej\u0105cego)\n\n7. Skopiuj nowy token:\n   - Upewnij si\u0119, \u017ce skopiowa\u0142e\u015b nowy token, poniewa\u017c nie b\u0119dziesz m\u00f3g\u0142 go zobaczy\u0107 ponownie\n\n8. Zaktualizuj token w swoim lokalnym repozytorium:\n   - Je\u015bli u\u017cywasz HTTPS, zaktualizuj swoje dane logowania\n   - Je\u015bli u\u017cywasz SSH, upewnij si\u0119, \u017ce Tw\u00f3j klucz SSH jest poprawnie skonfigurowany\n\n9. Spr\u00f3buj ponownie wykona\u0107 push:\n   - U\u017cyj nowego tokena do autoryzacji\n\nPami\u0119taj, \u017ce tokeny dost\u0119pu osobistego s\u0105 bardzo wra\u017cliwe na bezpiecze\u0144stwo.\nTraktuj je jak has\u0142a i nigdy nie udost\u0119pniaj ich publicznie. Je\u015bli przypadkowo ujawnisz sw\u00f3j token, natychmiast go usu\u0144 i wygeneruj nowy.\n\nPo wykonaniu tych krok\u00f3w, powiniene\u015b by\u0107 w stanie zaktualizowa\u0107 plik workflow bez problem\u00f3w. Je\u015bli nadal napotkasz problemy, upewnij si\u0119, \u017ce masz odpowiednie uprawnienia w repozytorium i \u017ce workflow nie s\u0105 zablokowane przez ustawienia organizacji lub repozytorium.\n\n# update PAT in repo\nour local repo and want to push it to a remote repo.\n\ncreate a PAT (personal access token): official doc here. Make sure to tick the box \"workflow\" when creating it.\nIn the terminal, instead of the classic\n\n```bash\ngit remote add origin https://github.com/<account>/<repo>.git\n```\n\nswap it by\n```bash\ngit remote add origin https://<PAT>@github.com/<account>/<repo>.git\n```\nexample\n```bash\n# check\ngit remote -v\nPAT=...\ngit remote add origin https://$PAT@github.com/pyfunc/lib.git\n# OR update:\ngit remote set-url origin https://$PAT@github.com/pyfunc/lib.git\n# check\ngit remote -v\ngit push\n```\n\nFollow-up with the classic git branch -M main and git push -u origin main\n\nThat worked for me. Hopefully for you too.\n\n## pypi publishing\n\n[Creating a PyPI Project with a Trusted Publisher - PyPI Docs](https://docs.pypi.org/trusted-publishers/creating-a-project-through-oidc/)\n\n\n\n## Creating tags from the command line\n\nTo create a tag on your current branch, run this:\n```bash\ngit tag <tagname>\n```\n\nIf you want to include a description with your tag, add -a to create an annotated tag:\n```bash\ngit tag <tagname> -a\n```\n\nThis will create a local tag with the current state of the branch you are on. \nWhen pushing to your remote repo, tags are NOT included by default. \nYou will need to explicitly say that you want to push your tags to your remote repo:\n```bash\ngit push origin --tags\n```\n\nexample:\n\n```bash\ngit tag 0.1.12\ngit push origin --tags\n```\n\n\n\n## test\n\n```bash\npip install build\npip install build hatchling\n```\n\n\n```bash\npy -m build\n```\n\n\n\n\n\n## init\n\nThe `__init__.py` file is used to mark a directory as a Python package and can also be used to initialize code, define the package's public API, and handle package-level variables or imports.\n\nHere\u2019s a basic guide on preparing the `__init__.py` file for your project located in the `src/pyfunc2` directory.\n\n### Basic `__init__.py`\n\n1. **Creating the `__init__.py` File**:\n   - Navigate to `src/pyfunc2/` directory.\n   - Create an `__init__.py` file in this directory.\n\nHere is a basic example of what this file might contain:\n\n\n\n### Ensuring Proper Package Structure\n\nHere's what your final project structure might look like:\n\n```\nmy_project/\n\u251c\u2500\u2500 src/\n\u2502   \u2514\u2500\u2500 pyfunc2/\n\u2502       \u251c\u2500\u2500 __init__.py\n\u2502       \u251c\u2500\u2500 module1.py\n\u2502       \u2514\u2500\u2500 module2.py\n\u251c\u2500\u2500 pyproject.toml\n\u251c\u2500\u2500 README.md\n\u2514\u2500\u2500 requirements.txt\n```\n\n\n\n\n\n\n\nHoe generate an `__init__.py` file automatically based on information in `pyproject.toml` typically\n\nLet's break down how you can achieve this:\n\n1. **Understand the data to be included in `__init__.py`**: Essentially, you might want to include metadata (like version), and possibly auto-imports of modules/classes/functions.\n\n2. **Create a script to generate `__init__.py`**: This script would read `pyproject.toml`, extract the relevant information, and generate the `__init__.py` file.\n\n### Step-by-Step Guide\n\n#### Step 1: Install Required Libraries\n\nYou will need `toml` for parsing `pyproject.toml`. Install it using `pip`.\n\n```bash\npip install toml\n```\n\n#### Step 2: generate_init.py\n\nCreate a Python script, e.g., `generate_init.py`, at the root of your project:\n\nEnsure that your `generate_init.py` script runs as part of your build process in your GitHub Actions workflow.\n\nHere's an updated GitHub Actions workflow to include the script execution:\n\n```bash\npy generate_init.py -p src/pyfunc2\npy generate_init.py -p src/pyfunc2/config\npy generate_init.py -p src/pyfunc2/csv\npy generate_init.py -p src/pyfunc2/email\npy generate_init.py -p src/pyfunc2/file\npy generate_init.py -p src/pyfunc2/function\npy generate_init.py -p src/pyfunc2/github\npy generate_init.py -p src/pyfunc2/local\npy generate_init.py -p src/pyfunc2/markdown\npy generate_init.py -p src/pyfunc2/ml\npy generate_init.py -p src/pyfunc2/ocr\npy generate_init.py -p src/pyfunc2/report\npy generate_init.py -p src/pyfunc2/serialization\npy generate_init.py -p src/pyfunc2/text\n\n```\n\n```bash\npy -m build\n```\n\n```bash\npip install dist/pyfunc2-0.1.15-py3-none-any.whl\n```",
    "bugtrack_url": null,
    "license": "Apache License Version 2.0, January 2004 http://www.apache.org/licenses/  TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION  1. Definitions.  \"License\" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.  \"Licensor\" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.  \"Legal Entity\" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, \"control\" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.  \"You\" (or \"Your\") shall mean an individual or Legal Entity exercising permissions granted by this License.  \"Source\" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.  \"Object\" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.  \"Work\" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).  \"Derivative Works\" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.  \"Contribution\" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, \"submitted\" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as \"Not a Contribution.\"  \"Contributor\" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.  2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.  3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.  4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:  (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and  (b) You must cause any modified files to carry prominent notices stating that You changed the files; and  (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and  (d) If the Work includes a \"NOTICE\" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.  You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.  5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.  6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.  7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.  8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.  9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.  END OF TERMS AND CONDITIONS  APPENDIX: How to apply the Apache License to your work.  To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets \"[]\" replaced with your own identifying information. (Don't include the brackets!)  The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same \"printed page\" as the copyright notice for easier identification within third-party archives.  Copyright [yyyy] [name of copyright owner]  Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at  http://www.apache.org/licenses/LICENSE-2.0  Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.",
    "summary": "libs for cameramonit, ocr, fin-officer, cfo, and other projects",
    "version": "0.1.15",
    "project_urls": {
        "changelog": "https://github.com/pyfunc/lib/releases",
        "documentation": "https://docs.pyfunc.com",
        "homepage": "https://www.pyfunc.com",
        "issue": "https://github.com/pyfunc/lib/issues/new",
        "repository": "https://github.com/pyfunc/lib",
        "wiki": "https://github.com/pyfunc/lib/wiki"
    },
    "split_keywords": [
        "cameramonit",
        " console",
        " fin-officer",
        " framework",
        " terminal",
        " test",
        " time"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f303557123db49833a3cecfd4da5b2e6d7c448a45ca885d6d2edd7346c79b691",
                "md5": "55bd20beac7756e034fd564f56ddcac9",
                "sha256": "167970eae1f3f2350a59802ddb559070bbb72132c898693846635c1eab6842c0"
            },
            "downloads": -1,
            "filename": "pyfunc2-0.1.15-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "55bd20beac7756e034fd564f56ddcac9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 12492,
            "upload_time": "2024-07-14T13:11:46",
            "upload_time_iso_8601": "2024-07-14T13:11:46.341989Z",
            "url": "https://files.pythonhosted.org/packages/f3/03/557123db49833a3cecfd4da5b2e6d7c448a45ca885d6d2edd7346c79b691/pyfunc2-0.1.15-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "234d891f69b2a111c53531712c47bd24e2b64149b20516852e52e4a45588c044",
                "md5": "413ea7600ca783c79fc3d942f9deaa80",
                "sha256": "159c1c1c6aafe71180d6468e5575cfa85371ed6cc8d5cc8067e35302a9e04478"
            },
            "downloads": -1,
            "filename": "pyfunc2-0.1.15.tar.gz",
            "has_sig": false,
            "md5_digest": "413ea7600ca783c79fc3d942f9deaa80",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 44425,
            "upload_time": "2024-07-14T13:11:48",
            "upload_time_iso_8601": "2024-07-14T13:11:48.119654Z",
            "url": "https://files.pythonhosted.org/packages/23/4d/891f69b2a111c53531712c47bd24e2b64149b20516852e52e4a45588c044/pyfunc2-0.1.15.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-14 13:11:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pyfunc",
    "github_project": "lib",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "pyfunc2"
}
        
Elapsed time: 0.30285s