Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: camelot-dev/excalibur
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.3.0
Choose a base ref
...
head repository: camelot-dev/excalibur
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Nov 12, 2018

  1. Update index.html

    vinayak-mehta committed Nov 12, 2018
    Copy the full SHA
    e62c978 View commit details
  2. Make text bold

    vinayak-mehta committed Nov 12, 2018
    Copy the full SHA
    85ec513 View commit details
  3. Fix typo

    vinayak-mehta committed Nov 12, 2018
    Copy the full SHA
    c58bcce View commit details
  4. Fix image width

    vinayak-mehta committed Nov 12, 2018
    Copy the full SHA
    d542106 View commit details
  5. Update index.html

    vinayak-mehta committed Nov 12, 2018
    Copy the full SHA
    e627120 View commit details

Commits on Nov 14, 2018

  1. Rebuild pages

    vinayak-mehta committed Nov 14, 2018
    Copy the full SHA
    ebdb51e View commit details

Commits on Nov 16, 2018

  1. Update README.md

    vinayak-mehta authored Nov 16, 2018
    Copy the full SHA
    9ef2955 View commit details
  2. Update index.rst

    vinayak-mehta authored Nov 16, 2018
    Copy the full SHA
    3c3fb4a View commit details
  3. Update docs

    vinayak-mehta committed Nov 16, 2018
    Copy the full SHA
    ec09186 View commit details

Commits on Nov 18, 2018

  1. Add jobs page

    vinayak-mehta committed Nov 18, 2018
    Copy the full SHA
    6d0648e View commit details

Commits on Nov 20, 2018

  1. Update docs

    vinayak-mehta committed Nov 20, 2018
    Copy the full SHA
    0dfd0b8 View commit details
  2. Update docs

    vinayak-mehta committed Nov 20, 2018
    Copy the full SHA
    a27c594 View commit details
  3. Copy the full SHA
    00ac940 View commit details
  4. Copy the full SHA
    7d671a0 View commit details
  5. Copy the full SHA
    8bad374 View commit details
  6. Copy the full SHA
    58096df View commit details
  7. Copy the full SHA
    42d2459 View commit details
  8. Copy the full SHA
    f80b78d View commit details
  9. Copy the full SHA
    76f1785 View commit details
  10. Add paginated workspace

    vinayak-mehta committed Nov 20, 2018
    Copy the full SHA
    c33c41c View commit details

Commits on Nov 21, 2018

  1. Fix saved rule load

    vinayak-mehta committed Nov 21, 2018
    Copy the full SHA
    fcf4a85 View commit details
  2. Copy the full SHA
    bffbcd1 View commit details
  3. Copy the full SHA
    4287ae9 View commit details

Commits on Nov 23, 2018

  1. Copy the full SHA
    4f6b414 View commit details
  2. Copy the full SHA
    d64b161 View commit details
  3. Fix #18 and bump version

    vinayak-mehta committed Nov 23, 2018
    Copy the full SHA
    e3b68e3 View commit details
  4. Copy the full SHA
    ff11753 View commit details
  5. Merge pull request #20 from camelot-dev/feedback-fixes

    [MRG] Add feedback fixes
    Vinayak Mehta authored Nov 23, 2018
    Copy the full SHA
    27c70cb View commit details

Commits on Nov 24, 2018

  1. Add fixes

    vinayak-mehta committed Nov 24, 2018
    Copy the full SHA
    e04e552 View commit details
  2. Copy the full SHA
    cd67f73 View commit details
  3. Update index.html

    vinayak-mehta committed Nov 24, 2018
    Copy the full SHA
    c0cd7fa View commit details

Commits on Nov 25, 2018

  1. Update README and docs

    vinayak-mehta committed Nov 25, 2018
    Copy the full SHA
    58394bf View commit details
  2. Update website

    vinayak-mehta committed Nov 25, 2018
    Copy the full SHA
    2e85a59 View commit details
  3. Add Drift

    vinayak-mehta committed Nov 25, 2018
    Copy the full SHA
    7f7a851 View commit details
  4. Fix link

    vinayak-mehta committed Nov 25, 2018
    Copy the full SHA
    a8528c8 View commit details
  5. Copy the full SHA
    8b29bed View commit details
  6. Update README

    vinayak-mehta committed Nov 25, 2018
    Copy the full SHA
    5df07e6 View commit details

Commits on Nov 26, 2018

  1. Remove usage.gif

    vinayak-mehta authored Nov 26, 2018
    Copy the full SHA
    664d8a3 View commit details
  2. Add usage.gif

    vinayak-mehta authored Nov 26, 2018
    Copy the full SHA
    09d4050 View commit details

Commits on Dec 1, 2018

  1. Update Excels to Excel or Excel files

    I believe Excel is seen as a program and not a file format. Changing to 'Excel files' helps specify you are talking about the file format. Love the tool, thank you.
    lazydancer authored Dec 1, 2018
    Copy the full SHA
    f652840 View commit details

Commits on Dec 3, 2018

  1. Copy the full SHA
    39dcd3c View commit details

Commits on Dec 5, 2018

  1. Update website

    vinayak-mehta committed Dec 5, 2018
    Copy the full SHA
    391dbbe View commit details
  2. Copy the full SHA
    153162f View commit details

Commits on Dec 6, 2018

  1. Update index.html

    vinayak-mehta authored Dec 6, 2018
    Copy the full SHA
    a7c17d7 View commit details
  2. Merge pull request #27 from lazydancer/patch-1

    Update Excels to Excel or Excel files
    vinayak-mehta authored Dec 6, 2018
    Copy the full SHA
    812c667 View commit details
  3. Update README.md

    vinayak-mehta authored Dec 6, 2018
    Copy the full SHA
    67a0039 View commit details
  4. Update README.md

    vinayak-mehta authored Dec 6, 2018
    Copy the full SHA
    afa5d58 View commit details

Commits on Dec 7, 2018

  1. Copy the full SHA
    b455717 View commit details

Commits on Dec 13, 2018

  1. Merge pull request #28 from opencollective/opencollective

    Activating Open Collective
    vinayak-mehta authored Dec 13, 2018
    Copy the full SHA
    f8a83ef View commit details
  2. Update README

    Update README
    
    Update README
    vinayak-mehta committed Dec 13, 2018
    Copy the full SHA
    beeb654 View commit details
Showing with 7,215 additions and 8,217 deletions.
  1. +1 −0 .github/FUNDING.yml
  2. +42 −0 .github/workflows/default.yml
  3. +95 −0 .github/workflows/release.yml
  4. +29 −0 .github/workflows/tests.yml
  5. +8 −0 .isort.cfg
  6. +35 −0 .pre-commit-config.yaml
  7. +27 −0 .readthedocs.yml
  8. +2 −2 CONTRIBUTING.md
  9. +50 −2 HISTORY.md
  10. +2 −2 Makefile
  11. +37 −17 README.md
  12. +1 −4 arthur.py
  13. +1 −1 docs/_static/create_gif.sh
  14. BIN docs/_static/gifs/auto-detect.gif
  15. BIN docs/_static/gifs/download.gif
  16. BIN docs/_static/gifs/saved-rule.gif
  17. BIN docs/_static/gifs/table-and-column.gif
  18. BIN docs/_static/gifs/upload.gif
  19. BIN docs/_static/screenshots/advanced.png
  20. BIN docs/_static/screenshots/lattice/extracted_data.png
  21. BIN docs/_static/screenshots/lattice/lattice.png
  22. BIN docs/_static/screenshots/rule.png
  23. BIN docs/_static/screenshots/stream/column.png
  24. BIN docs/_static/screenshots/stream/extracted_data.png
  25. BIN docs/_static/screenshots/stream/rule_options.png
  26. BIN docs/_static/screenshots/stream/stream.png
  27. BIN docs/_static/screenshots/stream/table_area.png
  28. BIN docs/_static/screenshots/upload.png
  29. BIN docs/_static/screenshots/workspace.png
  30. BIN docs/_static/usage.gif
  31. +3 −3 docs/_templates/sidebarintro.html
  32. +74 −71 docs/_themes/flask_theme_support.py
  33. +55 −41 docs/conf.py
  34. +4 −2 docs/dev/contributing.rst
  35. +31 −17 docs/index.rst
  36. +0 −56 docs/user/concepts.rst
  37. +37 −0 docs/user/faq.rst
  38. +5 −5 docs/user/howto.rst
  39. +2 −5 docs/user/install.rst
  40. +6 −6 docs/user/intro.rst
  41. +27 −24 docs/user/usage.rst
  42. +1 −3 excalibur/__init__.py
  43. +11 −0 excalibur/__main__.py
  44. +19 −9 excalibur/__version__.py
  45. +27 −22 excalibur/cli.py
  46. +0 −1 excalibur/config_templates/__init__.py
  47. +7 −8 excalibur/config_templates/default_celery.py
  48. +4 −0 excalibur/config_templates/default_excalibur.cfg
  49. +41 −40 excalibur/configuration.py
  50. +6 −9 excalibur/executors/__init__.py
  51. +1 −3 excalibur/executors/base_executor.py
  52. +11 −14 excalibur/executors/celery_executor.py
  53. +5 −4 excalibur/executors/sequential_executor.py
  54. +24 −16 excalibur/models.py
  55. +0 −1 excalibur/operators/__init__.py
  56. +1 −4 excalibur/operators/base_operator.py
  57. +0 −2 excalibur/operators/python_operator.py
  58. +10 −12 excalibur/settings.py
  59. +100 −103 excalibur/tasks.py
  60. +1 −1 excalibur/utils/database.py
  61. +4 −1 excalibur/utils/file.py
  62. +4 −2 excalibur/utils/metadata.py
  63. +7 −5 excalibur/utils/module_loading.py
  64. +74 −24 excalibur/utils/task.py
  65. +3 −5 excalibur/www/app.py
  66. BIN excalibur/www/static/css/images/bt-delete-bak.png
  67. BIN excalibur/www/static/css/images/bt-delete.png
  68. +5 −0 excalibur/www/static/css/vendor/fontawesome.css
  69. +1 −1 excalibur/www/static/css/vendor/jquery.selectareas.css
  70. BIN excalibur/www/static/css/webfonts/fa-brands-400.eot
  71. +1,184 −0 excalibur/www/static/css/webfonts/fa-brands-400.svg
  72. BIN excalibur/www/static/css/webfonts/fa-brands-400.ttf
  73. BIN excalibur/www/static/css/webfonts/fa-brands-400.woff
  74. BIN excalibur/www/static/css/webfonts/fa-brands-400.woff2
  75. BIN excalibur/www/static/css/webfonts/fa-regular-400.eot
  76. +467 −0 excalibur/www/static/css/webfonts/fa-regular-400.svg
  77. BIN excalibur/www/static/css/webfonts/fa-regular-400.ttf
  78. BIN excalibur/www/static/css/webfonts/fa-regular-400.woff
  79. BIN excalibur/www/static/css/webfonts/fa-regular-400.woff2
  80. BIN excalibur/www/static/css/webfonts/fa-solid-900.eot
  81. +2,618 −0 excalibur/www/static/css/webfonts/fa-solid-900.svg
  82. BIN excalibur/www/static/css/webfonts/fa-solid-900.ttf
  83. BIN excalibur/www/static/css/webfonts/fa-solid-900.woff
  84. BIN excalibur/www/static/css/webfonts/fa-solid-900.woff2
  85. +27 −1 excalibur/www/static/css/workspace.css
  86. +2 −2 excalibur/www/static/js/files.js
  87. +1 −1 excalibur/www/static/js/job.js
  88. 0 excalibur/www/static/js/jobs.js
  89. +5 −0 excalibur/www/static/js/vendor/popper.min.js
  90. +203 −162 excalibur/www/static/js/workspace.js
  91. +8 −2 excalibur/www/templates/base.html
  92. +11 −11 excalibur/www/templates/files.html
  93. +11 −2 excalibur/www/templates/job.html
  94. +57 −0 excalibur/www/templates/jobs.html
  95. +76 −98 excalibur/www/templates/workspace.html
  96. +122 −97 excalibur/www/views.py
  97. +0 −1 public/.gitignore
  98. +0 −11 public/.travis.yml
  99. +0 −1 public/CNAME
  100. +0 −27 public/LICENSE
  101. +0 −74 public/README.md
  102. +0 −395 public/css/index.css
  103. +0 −5 public/css/index.min.css
  104. +0 −90 public/gulpfile.js
  105. +0 −327 public/index.html
  106. +0 −63 public/js/main.js
  107. +0 −7 public/js/main.min.js
  108. +0 −5,748 public/package-lock.json
  109. +0 −49 public/package.json
  110. BIN public/pip-excalibur.png
  111. +0 −82 public/scss/_bootstrap-overrides.scss
  112. +0 −9 public/scss/_contact.scss
  113. +0 −10 public/scss/_footer.scss
  114. +0 −121 public/scss/_global.scss
  115. +0 −26 public/scss/_masthead.scss
  116. +0 −8 public/scss/_mixins.scss
  117. +0 −67 public/scss/_navbar.scss
  118. +0 −63 public/scss/_portfolio.scss
  119. +0 −24 public/scss/_variables.scss
  120. +0 −9 public/scss/index.scss
  121. +50 −0 pyproject.toml
  122. +8 −0 requirements-dev.in
  123. +8 −1 setup.cfg
  124. +0 −75 setup.py
  125. +6 −0 tests/test_utils.py
  126. +1,410 −0 uv.lock
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
open_collective: excalibur
42 changes: 42 additions & 0 deletions .github/workflows/default.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Build packages

on:
workflow_dispatch:

jobs:
build:
runs-on: ${{ matrix.config.os }}

strategy:
matrix:
config:
- { os: macos-latest, arch: x64, python-arch: x64, name: macos-latest }
- { os: ubuntu-latest, arch: x64, python-arch: x64, name: ubuntu-latest }
- { os: windows-latest, arch: x64, python-arch: x64, name: windows-latest }
- { os: windows-latest, arch: ia32, python-arch: x86, name: windows-latest-32 }

steps:
- uses: actions/checkout@v1
- name: Set up Python 3.13
uses: actions/setup-python@v1
with:
python-version: '3.13'
architecture: ${{ matrix.config.python-arch }}
- name: Install Excalibur
run: |
python -m pip install --upgrade pip
python -m pip install pyinstaller
python -m pip install ".[all]"
- name: Build with PyInstaller on Ubuntu and MacOS
if: runner.os == 'Linux' || runner.os == 'macOS'
run: |
pyinstaller --onefile --hidden-import="pkg_resources.py2_warn" --add-data "excalibur/www/templates:excalibur/www/templates" --add-data "excalibur/www/static:excalibur/www/static" --add-data "excalibur/config_templates:excalibur/config_templates" --name "excalibur-${{ matrix.config.os }}-${{ matrix.config.arch }}" arthur.py
- name: Build with PyInstaller on Windows
if: runner.os == 'Windows'
run: |
pyinstaller --onefile --hidden-import="pkg_resources.py2_warn" --add-data "excalibur/www/templates;excalibur/www/templates" --add-data "excalibur/www/static;excalibur/www/static" --add-data "excalibur/config_templates;excalibur/config_templates" --name "excalibur-${{ matrix.config.os }}-${{ matrix.config.arch }}" arthur.py
- name: Upload build artifact
uses: actions/upload-artifact@v1
with:
name: excalibur-${{ matrix.config.os }}-${{ matrix.config.arch }}
path: dist/
95 changes: 95 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: Publish Python 🐍 distribution 📦 to PyPI

on: push

jobs:
build:
name: Build distribution 📦
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install pypa/build
run: >-
python3 -m
pip install
build
--user
- name: Build a binary wheel and a source tarball
run: python3 -m build
- name: Store the distribution packages
uses: actions/upload-artifact@v4
with:
name: python-package-distributions
path: dist/

publish-to-pypi:
name: >-
Publish Python 🐍 distribution 📦 to PyPI
if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
needs:
- build
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/excalibur-py
permissions:
id-token: write # IMPORTANT: mandatory for trusted publishing

steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1

github-release:
name: >-
Sign the Python 🐍 distribution 📦 with Sigstore
and upload them to GitHub Release
needs:
- publish-to-pypi
runs-on: ubuntu-latest

permissions:
contents: write # IMPORTANT: mandatory for making GitHub Releases
id-token: write # IMPORTANT: mandatory for sigstore

steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Sign the dists with Sigstore
uses: sigstore/gh-action-sigstore-python@v3.0.0
with:
inputs: >-
./dist/*.tar.gz
./dist/*.whl
- name: Create GitHub Release
env:
GITHUB_TOKEN: ${{ github.token }}
run: >-
gh release create
"$GITHUB_REF_NAME"
--repo "$GITHUB_REPOSITORY"
--notes ""
- name: Upload artifact signatures to GitHub Release
env:
GITHUB_TOKEN: ${{ github.token }}
# Upload to GitHub Release using the `gh` CLI.
# `dist/` contains the built packages, and the
# sigstore-produced signatures and certificates.
run: >-
gh release upload
"$GITHUB_REF_NAME" dist/**
--repo "$GITHUB_REPOSITORY"
29 changes: 29 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Tests

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
build:

runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.11, 3.12, 3.13]

steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install ".[dev]"
- name: Test with pytest
run: |
python -m pytest
8 changes: 8 additions & 0 deletions .isort.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[settings]
known_third_party = PyPDF2,backports,camelot,celery,click,cv2,flask,pandas,pygments,setuptools,six,sqlalchemy,werkzeug
line_length=79
indent=' '
multi_line_output=3
length_sort=0
include_trailing_comma=True
length_sort=True
35 changes: 35 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# pre-commit run --all-files
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
hooks:
# - id: end-of-file-fixer
- id: mixed-line-ending
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v0.782
hooks:
- id: mypy
exclude: docs/
- repo: https://github.com/asottile/seed-isort-config
rev: v2.2.0
hooks:
- id: seed-isort-config
- repo: https://github.com/pre-commit/mirrors-isort
rev: v5.5.1
hooks:
- id: isort
- repo: https://github.com/asottile/pyupgrade
rev: v2.7.2
hooks:
- id: pyupgrade
args: [--py36-plus]
- repo: https://github.com/psf/black
rev: 20.8b1
hooks:
- id: black
exclude: docs/
- repo: https://github.com/asottile/blacken-docs
rev: v1.8.0
hooks:
- id: blacken-docs
additional_dependencies: [black==20.8b1]
27 changes: 27 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# .readthedocs.yml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py

# Build documentation with MkDocs
#mkdocs:
# configuration: mkdocs.yml

# Optionally build your docs in additional formats such as PDF
formats:
- pdf

# Optionally set the version of Python and requirements required to build your docs
python:
version: 3.8
install:
- method: pip
path: .
extra_requirements:
- dev
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -20,13 +20,13 @@ A great way to start contributing to Excalibur is to pick an issue tagged with t

## Setting up a development environment

To install the dependencies needed for development, you can use pip:
After [installing the dependencies](https://camelot-py.readthedocs.io/en/master/user/install-deps.html#install-deps), which include Tkinter and ghostscript, you can install the `dev` extra using pip:

<pre>
$ pip install excalibur-py[dev]
</pre>

Alternatively, you can clone the project repository, and install using pip:
Alternatively, you can clone the project repository, and install the `dev` extra using pip:

<pre>
$ pip install -e ".[dev]"
52 changes: 50 additions & 2 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,56 @@
Release History
===============

master
------
1.0.1 (2025-01-03)
------------------

* Fix pypdf import.

1.0.0 (2025-01-03)
------------------

* Fix deprecated camelot methods.

0.4.4 (2024-12-25)
------------------

* Add GitHub Action for automated Linux, MacOS and Windows builds. [#107](https://github.com/camelot-dev/excalibur/pull/107) by [arky](https://github.com/arky).

0.4.3 (2020-03-21)
------------------

**Improvements**

* The command-line interface can now be run using `python -m excalibur`. [#97](https://github.com/camelot-dev/excalibur/pull/97).
* Excalibur now follows the Black code style! [#98](https://github.com/camelot-dev/excalibur/pull/98).

**Bugfixes**

* [#95](https://github.com/camelot-dev/excalibur/issues/95) Fix Werkzeug import error. [#96](https://github.com/camelot-dev/excalibur/pull/96).

0.4.2 (2019-01-09)
------------------

**Bugfixes**

* [#41](https://github.com/camelot-dev/excalibur/issues/41) Fix failed function call wrt to upstream changes. [#42](https://github.com/camelot-dev/excalibur/pull/42) by Vinayak Mehta.

0.4.1 (2018-11-05)
------------------

**Bugfixes**

* [#32](https://github.com/camelot-dev/excalibur/issues/32) Changing port in excalibur.cfg has no effect. [#34](https://github.com/camelot-dev/excalibur/pull/34) by Vinayak Mehta.

0.4.0 (2018-11-26)
------------------

This release adds a lot of UI enhancements (based on user feedback), and updates to the docs and website. Table autodetection is now even more awesome 🔥 since Camelot v0.4.0 adds an improved Stream table detection algorithm. To know more, check out [#206](https://github.com/camelot-dev/camelot/pull/206).

0.3.0 (2018-11-12)
------------------

This release adds enhancements to the static website, a rule manager to view, upload and download table extraction rules and an option to load a saved extraction rule on the workspace.

0.2.0 (2018-11-05)
------------------
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -15,11 +15,11 @@ publish:
pip install twine
python setup.py sdist bdist_wheel --universal
twine upload dist/*
rm -fr build dist .egg excalibur_py.egg-info
rm -rf build dist .egg excalibur_py.egg-info

build-executable:
pip install pyinstaller
# https://pythonhosted.org/PyInstaller/when-things-go-wrong.html#helping-pyinstaller-find-modules
# pyi-makespec --paths=excalibur/executors/celery_executor.py arthur.py
# replace : with ; for Windows
pyinstaller --add-data "excalibur/www/templates:excalibur/www/templates" --add-data "excalibur/www/static:excalibur/www/static" --add-data "excalibur/config_templates:excalibur/config_templates" arthur.py
pyinstaller --hidden-import="pkg_resources.py2_warn" --add-data "excalibur/www/templates:excalibur/www/templates" --add-data "excalibur/www/static:excalibur/www/static" --add-data "excalibur/config_templates:excalibur/config_templates" arthur.py
Loading