ai-parrot 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ai-parrot might be problematic. Click here for more details.

Files changed (146) hide show
  1. ai_parrot-0.1.0/.flake8 +6 -0
  2. ai_parrot-0.1.0/.github/dependabot.yml +7 -0
  3. ai_parrot-0.1.0/.github/workflows/codeql-analysis.yml +80 -0
  4. ai_parrot-0.1.0/.github/workflows/release.yml +28 -0
  5. ai_parrot-0.1.0/.gitignore +177 -0
  6. ai_parrot-0.1.0/.isort.cfg +5 -0
  7. ai_parrot-0.1.0/.pylintrc +11 -0
  8. ai_parrot-0.1.0/INSTALL +32 -0
  9. ai_parrot-0.1.0/LICENSE +21 -0
  10. ai_parrot-0.1.0/Makefile +42 -0
  11. ai_parrot-0.1.0/PKG-INFO +299 -0
  12. ai_parrot-0.1.0/README.md +155 -0
  13. ai_parrot-0.1.0/SECURITY.md +18 -0
  14. ai_parrot-0.1.0/ai_parrot.egg-info/PKG-INFO +299 -0
  15. ai_parrot-0.1.0/ai_parrot.egg-info/SOURCES.txt +144 -0
  16. ai_parrot-0.1.0/ai_parrot.egg-info/dependency_links.txt +1 -0
  17. ai_parrot-0.1.0/ai_parrot.egg-info/requires.txt +121 -0
  18. ai_parrot-0.1.0/ai_parrot.egg-info/top_level.txt +3 -0
  19. ai_parrot-0.1.0/app.py +196 -0
  20. ai_parrot-0.1.0/etc/navigator-ssl.ini +51 -0
  21. ai_parrot-0.1.0/etc/navigator.ini +46 -0
  22. ai_parrot-0.1.0/etc/ssl/domain.ext +5 -0
  23. ai_parrot-0.1.0/etc/ssl/navigator.local.crt +23 -0
  24. ai_parrot-0.1.0/etc/ssl/navigator.local.csr +18 -0
  25. ai_parrot-0.1.0/etc/ssl/navigator.local.key +27 -0
  26. ai_parrot-0.1.0/etc/ssl/rootCA.crt +39 -0
  27. ai_parrot-0.1.0/etc/ssl/rootCA.key +51 -0
  28. ai_parrot-0.1.0/etc/ssl/rootCA.srl +1 -0
  29. ai_parrot-0.1.0/mypy.ini +2 -0
  30. ai_parrot-0.1.0/parrot/__init__.py +18 -0
  31. ai_parrot-0.1.0/parrot/chatbots/__init__.py +7 -0
  32. ai_parrot-0.1.0/parrot/chatbots/abstract.py +965 -0
  33. ai_parrot-0.1.0/parrot/chatbots/asktroc.py +16 -0
  34. ai_parrot-0.1.0/parrot/chatbots/base.py +257 -0
  35. ai_parrot-0.1.0/parrot/chatbots/basic.py +9 -0
  36. ai_parrot-0.1.0/parrot/chatbots/bose.py +17 -0
  37. ai_parrot-0.1.0/parrot/chatbots/cody.py +17 -0
  38. ai_parrot-0.1.0/parrot/chatbots/copilot.py +100 -0
  39. ai_parrot-0.1.0/parrot/chatbots/dataframe.py +103 -0
  40. ai_parrot-0.1.0/parrot/chatbots/hragents.py +15 -0
  41. ai_parrot-0.1.0/parrot/chatbots/oddie.py +17 -0
  42. ai_parrot-0.1.0/parrot/chatbots/retrievals/__init__.py +515 -0
  43. ai_parrot-0.1.0/parrot/chatbots/retrievals/constitutional.py +19 -0
  44. ai_parrot-0.1.0/parrot/conf.py +108 -0
  45. ai_parrot-0.1.0/parrot/crew/__init__.py +3 -0
  46. ai_parrot-0.1.0/parrot/crew/tools/__init__.py +22 -0
  47. ai_parrot-0.1.0/parrot/crew/tools/bing.py +13 -0
  48. ai_parrot-0.1.0/parrot/crew/tools/config.py +43 -0
  49. ai_parrot-0.1.0/parrot/crew/tools/duckgo.py +62 -0
  50. ai_parrot-0.1.0/parrot/crew/tools/file.py +24 -0
  51. ai_parrot-0.1.0/parrot/crew/tools/google.py +168 -0
  52. ai_parrot-0.1.0/parrot/crew/tools/gtrends.py +16 -0
  53. ai_parrot-0.1.0/parrot/crew/tools/md2pdf.py +25 -0
  54. ai_parrot-0.1.0/parrot/crew/tools/rag.py +42 -0
  55. ai_parrot-0.1.0/parrot/crew/tools/search.py +32 -0
  56. ai_parrot-0.1.0/parrot/crew/tools/url.py +21 -0
  57. ai_parrot-0.1.0/parrot/exceptions.c +9245 -0
  58. ai_parrot-0.1.0/parrot/exceptions.pyx +25 -0
  59. ai_parrot-0.1.0/parrot/handlers/__init__.py +4 -0
  60. ai_parrot-0.1.0/parrot/handlers/bots.py +196 -0
  61. ai_parrot-0.1.0/parrot/handlers/chat.py +169 -0
  62. ai_parrot-0.1.0/parrot/interfaces/__init__.py +6 -0
  63. ai_parrot-0.1.0/parrot/interfaces/database.py +29 -0
  64. ai_parrot-0.1.0/parrot/llms/__init__.py +0 -0
  65. ai_parrot-0.1.0/parrot/llms/abstract.py +41 -0
  66. ai_parrot-0.1.0/parrot/llms/anthropic.py +36 -0
  67. ai_parrot-0.1.0/parrot/llms/google.py +37 -0
  68. ai_parrot-0.1.0/parrot/llms/groq.py +33 -0
  69. ai_parrot-0.1.0/parrot/llms/hf.py +39 -0
  70. ai_parrot-0.1.0/parrot/llms/openai.py +49 -0
  71. ai_parrot-0.1.0/parrot/llms/pipes.py +103 -0
  72. ai_parrot-0.1.0/parrot/llms/vertex.py +68 -0
  73. ai_parrot-0.1.0/parrot/loaders/__init__.py +20 -0
  74. ai_parrot-0.1.0/parrot/loaders/abstract.py +456 -0
  75. ai_parrot-0.1.0/parrot/loaders/basepdf.py +102 -0
  76. ai_parrot-0.1.0/parrot/loaders/basevideo.py +280 -0
  77. ai_parrot-0.1.0/parrot/loaders/csv.py +42 -0
  78. ai_parrot-0.1.0/parrot/loaders/dir.py +37 -0
  79. ai_parrot-0.1.0/parrot/loaders/excel.py +349 -0
  80. ai_parrot-0.1.0/parrot/loaders/github.py +65 -0
  81. ai_parrot-0.1.0/parrot/loaders/handlers/__init__.py +5 -0
  82. ai_parrot-0.1.0/parrot/loaders/handlers/data.py +213 -0
  83. ai_parrot-0.1.0/parrot/loaders/image.py +119 -0
  84. ai_parrot-0.1.0/parrot/loaders/json.py +52 -0
  85. ai_parrot-0.1.0/parrot/loaders/pdf.py +187 -0
  86. ai_parrot-0.1.0/parrot/loaders/pdfchapters.py +142 -0
  87. ai_parrot-0.1.0/parrot/loaders/pdffn.py +112 -0
  88. ai_parrot-0.1.0/parrot/loaders/pdfimages.py +207 -0
  89. ai_parrot-0.1.0/parrot/loaders/pdfmark.py +88 -0
  90. ai_parrot-0.1.0/parrot/loaders/pdftables.py +145 -0
  91. ai_parrot-0.1.0/parrot/loaders/ppt.py +30 -0
  92. ai_parrot-0.1.0/parrot/loaders/qa.py +81 -0
  93. ai_parrot-0.1.0/parrot/loaders/repo.py +103 -0
  94. ai_parrot-0.1.0/parrot/loaders/rtd.py +65 -0
  95. ai_parrot-0.1.0/parrot/loaders/txt.py +92 -0
  96. ai_parrot-0.1.0/parrot/loaders/utils/__init__.py +1 -0
  97. ai_parrot-0.1.0/parrot/loaders/utils/models.py +25 -0
  98. ai_parrot-0.1.0/parrot/loaders/video.py +96 -0
  99. ai_parrot-0.1.0/parrot/loaders/videolocal.py +107 -0
  100. ai_parrot-0.1.0/parrot/loaders/vimeo.py +106 -0
  101. ai_parrot-0.1.0/parrot/loaders/web.py +216 -0
  102. ai_parrot-0.1.0/parrot/loaders/web_base.py +112 -0
  103. ai_parrot-0.1.0/parrot/loaders/word.py +125 -0
  104. ai_parrot-0.1.0/parrot/loaders/youtube.py +192 -0
  105. ai_parrot-0.1.0/parrot/manager.py +152 -0
  106. ai_parrot-0.1.0/parrot/models.py +347 -0
  107. ai_parrot-0.1.0/parrot/py.typed +0 -0
  108. ai_parrot-0.1.0/parrot/stores/__init__.py +0 -0
  109. ai_parrot-0.1.0/parrot/stores/abstract.py +170 -0
  110. ai_parrot-0.1.0/parrot/stores/milvus.py +540 -0
  111. ai_parrot-0.1.0/parrot/stores/qdrant.py +153 -0
  112. ai_parrot-0.1.0/parrot/tools/__init__.py +16 -0
  113. ai_parrot-0.1.0/parrot/tools/abstract.py +53 -0
  114. ai_parrot-0.1.0/parrot/tools/asknews.py +32 -0
  115. ai_parrot-0.1.0/parrot/tools/bing.py +13 -0
  116. ai_parrot-0.1.0/parrot/tools/duck.py +62 -0
  117. ai_parrot-0.1.0/parrot/tools/google.py +170 -0
  118. ai_parrot-0.1.0/parrot/tools/stack.py +26 -0
  119. ai_parrot-0.1.0/parrot/tools/weather.py +70 -0
  120. ai_parrot-0.1.0/parrot/tools/wikipedia.py +59 -0
  121. ai_parrot-0.1.0/parrot/tools/zipcode.py +179 -0
  122. ai_parrot-0.1.0/parrot/utils/__init__.py +2 -0
  123. ai_parrot-0.1.0/parrot/utils/parsers/__init__.py +5 -0
  124. ai_parrot-0.1.0/parrot/utils/parsers/toml.c +12041 -0
  125. ai_parrot-0.1.0/parrot/utils/parsers/toml.pyx +21 -0
  126. ai_parrot-0.1.0/parrot/utils/toml.py +11 -0
  127. ai_parrot-0.1.0/parrot/utils/types.cpp +20920 -0
  128. ai_parrot-0.1.0/parrot/utils/types.pyx +213 -0
  129. ai_parrot-0.1.0/parrot/utils/uv.py +11 -0
  130. ai_parrot-0.1.0/parrot/version.py +10 -0
  131. ai_parrot-0.1.0/pyproject.toml +68 -0
  132. ai_parrot-0.1.0/pytest.ini +5 -0
  133. ai_parrot-0.1.0/requirements/requirements-dev.txt +21 -0
  134. ai_parrot-0.1.0/resources/__init__.py +0 -0
  135. ai_parrot-0.1.0/resources/quick.py +23 -0
  136. ai_parrot-0.1.0/resources/users/__init__.py +5 -0
  137. ai_parrot-0.1.0/resources/users/handlers.py +13 -0
  138. ai_parrot-0.1.0/resources/users/models.py +205 -0
  139. ai_parrot-0.1.0/run.py +38 -0
  140. ai_parrot-0.1.0/settings/__init__.py +0 -0
  141. ai_parrot-0.1.0/settings/settings.py +51 -0
  142. ai_parrot-0.1.0/setup.cfg +4 -0
  143. ai_parrot-0.1.0/setup.py +287 -0
  144. ai_parrot-0.1.0/templates/.compiled +0 -0
  145. ai_parrot-0.1.0/templates/README.md +1 -0
  146. ai_parrot-0.1.0/tox.ini +25 -0
@@ -0,0 +1,6 @@
1
+ [flake8]
2
+ ignore = E203, E266, W503, E501
3
+ max-line-length = 120
4
+ max-complexity = 18
5
+ select = B,C,E,F,W,T4,B9
6
+ exclude = .git,__pycache__,docs/source/conf.py,old,build,dist
@@ -0,0 +1,7 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: pip
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ open-pull-requests-limit: 10
@@ -0,0 +1,80 @@
1
+ # For most projects, this workflow file will not need changing; you simply need
2
+ # to commit it to your repository.
3
+ #
4
+ # You may wish to alter this file to override the set of languages analyzed,
5
+ # or to provide custom queries or build logic.
6
+ #
7
+ # ******** NOTE ********
8
+ # We have attempted to detect the languages in your repository. Please check
9
+ # the `language` matrix defined below to confirm you have the correct set of
10
+ # supported CodeQL languages.
11
+ # ******** NOTE ********
12
+
13
+ name: "CodeQL"
14
+
15
+ on:
16
+ push:
17
+ branches: [ main ]
18
+ pull_request:
19
+ # The branches below must be a subset of the branches above
20
+ branches: [ main ]
21
+ schedule:
22
+ - cron: '42 16 * * 3'
23
+
24
+ jobs:
25
+ analyze:
26
+ name: Analyze
27
+ runs-on: ubuntu-latest
28
+
29
+ strategy:
30
+ fail-fast: false
31
+ matrix:
32
+ language: [ 'python', 'nim', 'rust', 'cpp' ]
33
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
34
+ # Learn more...
35
+ # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
36
+ python-version: [3.9]
37
+ steps:
38
+ - name: Checkout repository
39
+ uses: actions/checkout@v2
40
+ - name: Set up Python
41
+ uses: actions/setup-python@v3
42
+ with:
43
+ python-version: '3.9'
44
+ - name: Install dependencies
45
+ run: |
46
+ sudo -H apt-get install python3.9-dev build-essential libssl-dev libffi-dev unixodbc unixodbc-dev -y
47
+ # Initializes the CodeQL tools for scanning.
48
+ - name: Initialize CodeQL
49
+ uses: github/codeql-action/init@v1
50
+ with:
51
+ languages: ${{ matrix.language }}
52
+ # If you wish to specify custom queries, you can do so here or in a config file.
53
+ # By default, queries listed here will override any specified in a config file.
54
+ # Prefix the list here with "+" to use these queries and those in the config file.
55
+ # queries: ./path/to/local/query, your-org/your-repo/queries@main
56
+ setup-python-dependencies: true
57
+
58
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
59
+ # If this step fails, then you should remove it and run the build manually (see below)
60
+ - name: Autobuild
61
+ uses: github/codeql-action/autobuild@v1
62
+
63
+ # ℹ️ Command-line programs to run using the OS shell.
64
+ # 📚 https://git.io/JvXDl
65
+
66
+ # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
67
+ # and modify them (or add more) to build your code if your project
68
+ # uses a compiled language
69
+
70
+ #- run: |
71
+ # make bootstrap
72
+ # make release
73
+
74
+ - name: Perform CodeQL Analysis
75
+ uses: github/codeql-action/analyze@v1
76
+
77
+ - name: Python style check
78
+ run: |
79
+ sudo -H apt-get install python3.10-dev build-essential libssl-dev libffi-dev unixodbc unixodbc-dev -y
80
+ uses: bulv1ne/python-style-check@v0.3
@@ -0,0 +1,28 @@
1
+ name: Python package build and publish
2
+ on:
3
+ release:
4
+ types: [created]
5
+ jobs:
6
+ deploy:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - uses: actions/checkout@v2
10
+ - name: Set up Python
11
+ uses: actions/setup-python@v1
12
+ with:
13
+ python-version: 3.9
14
+ - name: Install dependencies
15
+ run: |
16
+ python -m pip install --upgrade pip
17
+ pip install twine
18
+ - name: Build manylinux Python wheels
19
+ uses: RalfG/python-wheels-manylinux-build@v0.5.0-manylinux2014_x86_64
20
+ with:
21
+ python-versions: 'cp39-cp39 cp310-cp310 cp311-cp311 cp312-cp312'
22
+ build-requirements: 'cython numpy'
23
+ - name: Publish wheels to Production PyPI
24
+ env:
25
+ TWINE_USERNAME: __token__
26
+ TWINE_PASSWORD: ${{ secrets.AIPARROT_API_SECRET }}
27
+ run: |
28
+ twine upload dist/*-manylinux*.whl
@@ -0,0 +1,177 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+ *.c
9
+ *.cpp
10
+
11
+ # Package related
12
+ etc/config/
13
+ static/*
14
+
15
+ # Distribution / packaging
16
+ .Python
17
+ build/
18
+ develop-eggs/
19
+ dist/
20
+ downloads/
21
+ eggs/
22
+ .eggs/
23
+ lib/
24
+ lib64/
25
+ parts/
26
+ sdist/
27
+ var/
28
+ wheels/
29
+ share/python-wheels/
30
+ *.egg-info/
31
+ .installed.cfg
32
+ *.egg
33
+ MANIFEST
34
+
35
+ # PyInstaller
36
+ # Usually these files are written by a python script from a template
37
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
38
+ *.manifest
39
+ *.spec
40
+
41
+ # Installer logs
42
+ pip-log.txt
43
+ pip-delete-this-directory.txt
44
+
45
+ # Unit test / coverage reports
46
+ htmlcov/
47
+ .tox/
48
+ .nox/
49
+ .coverage
50
+ .coverage.*
51
+ .cache
52
+ nosetests.xml
53
+ coverage.xml
54
+ *.cover
55
+ *.py,cover
56
+ .hypothesis/
57
+ .pytest_cache/
58
+ cover/
59
+
60
+ # Translations
61
+ *.mo
62
+ *.pot
63
+
64
+ # Django stuff:
65
+ *.log
66
+ local_settings.py
67
+ db.sqlite3
68
+ db.sqlite3-journal
69
+
70
+ # Flask stuff:
71
+ instance/
72
+ .webassets-cache
73
+
74
+ # Scrapy stuff:
75
+ .scrapy
76
+
77
+ # Sphinx documentation
78
+ docs/_build/
79
+
80
+ # PyBuilder
81
+ .pybuilder/
82
+ target/
83
+
84
+ # Jupyter Notebook
85
+ .ipynb_checkpoints
86
+
87
+ # IPython
88
+ profile_default/
89
+ ipython_config.py
90
+
91
+ # pyenv
92
+ # For a library or package, you might want to ignore these files since the code is
93
+ # intended to run in multiple environments; otherwise, check them in:
94
+ # .python-version
95
+
96
+ # pipenv
97
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
98
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
99
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
100
+ # install all needed dependencies.
101
+ #Pipfile.lock
102
+
103
+ # poetry
104
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
105
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
106
+ # commonly ignored for libraries.
107
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
108
+ #poetry.lock
109
+
110
+ # pdm
111
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
112
+ #pdm.lock
113
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
114
+ # in version control.
115
+ # https://pdm.fming.dev/#use-with-ide
116
+ .pdm.toml
117
+
118
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
119
+ __pypackages__/
120
+
121
+ # Celery stuff
122
+ celerybeat-schedule
123
+ celerybeat.pid
124
+
125
+ # SageMath parsed files
126
+ *.sage.py
127
+
128
+ # Environments
129
+ .env
130
+ .venv
131
+ env/
132
+ venv/
133
+ ENV/
134
+ env.bak/
135
+ venv.bak/
136
+
137
+ # Spyder project settings
138
+ .spyderproject
139
+ .spyproject
140
+
141
+ # Rope project settings
142
+ .ropeproject
143
+
144
+ # mkdocs documentation
145
+ /site
146
+
147
+ # mypy
148
+ .mypy_cache/
149
+ .dmypy.json
150
+ dmypy.json
151
+
152
+ # Pyre type checker
153
+ .pyre/
154
+
155
+ # pytype static type analyzer
156
+ .pytype/
157
+
158
+ # Cython debug symbols
159
+ cython_debug/
160
+
161
+ # PyCharm
162
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
163
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
164
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
165
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
166
+ #.idea/
167
+ qdrant_storage/*
168
+
169
+ # User data:
170
+ bin/docker/volumes/*
171
+ #docs/bose/*
172
+ docs/videos/*.mp4
173
+ docs/videos/*.webm
174
+ docs/videos/*.mkv
175
+ docs/videos/*.mp3
176
+ docs/vimeo/*
177
+ docs/youtube/*
@@ -0,0 +1,5 @@
1
+ [settings]
2
+ line_length = 120
3
+ multi_line_output = 3
4
+ include_trailing_comma = True
5
+ known_third_party = aiohttp,environ,pytz,redis,requests,asyncpg,navconfig,langchain,pandas
@@ -0,0 +1,11 @@
1
+ [MASTER]
2
+ init-hook='import sys; sys.path.append("/home/jesuslara/proyectos/navigator/navigator-ai")'
3
+
4
+ [MESSAGES CONTROL]
5
+ disable=missing-module-docstring,missing-function-docstring
6
+
7
+ [REPORTS]
8
+ output-format=text
9
+
10
+ [PLUGIN]
11
+ load-plugins=pylint.extensions.docparams
@@ -0,0 +1,32 @@
1
+ Debian-based systems installation:
2
+ ```
3
+ sudo apt install gcc python3.11-venv python3.11-full python3.11-dev libmemcached-dev zlib1g-dev build-essential libffi-dev unixodbc unixodbc-dev libsqliteodbc libev4 libev-dev ffmpeg python3-pycuda nvidia-cuda-toolkit tesseract-ocr libtesseract-dev poppler-utils tesseract-ocr-eng tesseract-ocr-spa
4
+ ```
5
+
6
+ ## For Python Installation ##
7
+
8
+ ```bash
9
+ sudo add-apt-repository ppa:deadsnakes/ppa
10
+ ```
11
+
12
+ ```bash
13
+ sudo apt update
14
+ ```
15
+
16
+ ```bash
17
+ sudo apt install python3.11 python3.11-dev python3.11-venv python3.12 python3.12-dev python3.12-venv
18
+ ```
19
+
20
+
21
+ For Qdrant installation:
22
+ ```
23
+ docker pull qdrant/qdrant
24
+ docker run -d -p 6333:6333 -p 6334:6334 -v $(pwd)/qdrant_storage:/qdrant/storage:z qdrant/qdrant
25
+ ```
26
+
27
+ For VertexAI, creates a folder on "env" called "google" and copy the JSON credentials file into it.
28
+
29
+
30
+ CUDA requirements:
31
+ pip install cuda-python
32
+ pip install accelerate==0.29.1
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 phenobarbital
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,42 @@
1
+ venv:
2
+ python3.11 -m venv .venv
3
+ echo 'run `source .venv/bin/activate` to start develop with Parrot'
4
+
5
+ install:
6
+ pip install wheel==0.42.0
7
+ # Install Parrot
8
+ pip install -e .[google,milvus,analytics]
9
+ pip install --upgrade python-datamodel
10
+ pip install --upgrade asyncdb[all]
11
+ pip install --upgrade navconfig[default]
12
+ pip install --upgrade navigator-api[locale]
13
+ # Nav requirements:
14
+ pip install --upgrade navigator-session
15
+ pip install --upgrade navigator-auth
16
+ # QS requirements
17
+ pip install --upgrade querysource[analytics]
18
+
19
+ develop:
20
+ python -m pip install -Ur requirements/requirements-dev.txt
21
+
22
+ dev:
23
+ flit install --symlink
24
+
25
+ release: lint test clean
26
+ flit publish
27
+
28
+ format:
29
+ python -m black parrot
30
+
31
+ lint:
32
+ python -m pylint --rcfile .pylint parrot/*.py
33
+ python -m pylint --rcfile .pylint parrot/*.py
34
+ python -m black --check parrot
35
+
36
+ test:
37
+ python -m coverage run -m parrot.tests
38
+ python -m coverage report
39
+ python -m mypy parrot/*.py
40
+
41
+ distclean:
42
+ rm -rf .venv