Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation requirement files and dependencies #54

Open
koyo-nic opened this issue Nov 8, 2023 · 3 comments
Open

Installation requirement files and dependencies #54

koyo-nic opened this issue Nov 8, 2023 · 3 comments
Labels
bug Something isn't working

Comments

@koyo-nic
Copy link

koyo-nic commented Nov 8, 2023

Environment Information

  • open_buildings version: 0.10.0
  • Python version: 3.9.5
  • Operating System: Windows OSGeo4W

Description

Describe what you were trying to get done.

PS: This just an observation. The installation was successful(on a windows pc)

After running installation command pip install open-buildings the list of dependencies that pip was installing on the background was suspiciously longer than what would have been expected from the requirements.txt file. Some packages that would have been expected only when building documentation for example.

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
sphinx 3.3.0 requires sphinxcontrib-applehelp, which is not installed.
sphinx 3.3.0 requires sphinxcontrib-devhelp, which is not installed.
sphinx 3.3.0 requires sphinxcontrib-htmlhelp, which is not installed.
sphinx 3.3.0 requires sphinxcontrib-jsmath, which is not installed.
sphinx 3.3.0 requires sphinxcontrib-qthelp, which is not installed.
sphinx 3.3.0 requires sphinxcontrib-serializinghtml, which is not installed.
pointpats 2.2.0 requires opencv-contrib-python>=4.2.0, which is not installed.
access 1.1.1 requires Sphinx==2.4.3, but you have sphinx 3.3.0 which is incompatible.
pysal 2.3.0 requires python-dateutil<=2.8.0, but you have python-dateutil 2.8.2 which is incompatible.
pysal 2.3.0 requires urllib3<1.25, but you have urllib3 1.25.11 which is incompatible.
pytest 6.1.2 requires pluggy<1.0,>=0.12, but you have pluggy 1.0.0 which is incompatible.
statsmodels 0.14.0 requires patsy>=0.5.2, but you have patsy 0.5.1 which is incompatible.

Based on this message log, I decided to check on the dependencies tree and what package requires these packages i.e

List of all packages Installed

MarkupSafe-2.1.3
PySocks-1.7.1
attrs-23.1.0
boto3-1.28.80
botocore-1.31.80
bqplot-0.12.42
branca-0.7.0
charset-normalizer-3.3.2
click-8.1.7
cligj-0.7.2
colour-0.1.5
comm-0.2.0
duckdb-0.9.1
folium-0.15.0
gdown-4.7.1
geojson-3.1.0
ipyevents-2.0.2
ipyfilechooser-0.6.0
ipyleaflet-0.17.4
ipytree-0.2.2
ipywidgets-8.1.1
jmespath-1.0.1
jsonschema-4.19.2
jsonschema-specifications-2023.7.1
jupyterlab-widgets-3.0.9
leafmap-0.28.1
mercantile-1.2.1
open-buildings-0.10.0
openlocationcode-1.0.1
pyshp-2.3.1
pystac-1.9.0
pystac-client-0.7.5
python-box-7.1.1
python-dateutil-2.8.2
referencing-0.30.2
requests-2.31.0
rpds-py-0.12.0
s3transfer-0.7.0
scooby-0.9.2
tabulate-0.9.0
traittypes-0.2.1
whitebox-2.3.1
whiteboxgui-2.3.0
widgetsnbextension-4.0.9
xyzservices-2023.10.1

What I Did

Used pipdeptree tool to print out the dependency tree for open-buildings package/tool
Command

pipdeptree.exe --package open-buildings

Output

------------------------------------------------------------------------
open-buildings==0.10.0
├── boto3 [required: Any, installed: 1.28.80]
│   ├── botocore [required: >=1.31.80,<1.32.0, installed: 1.31.80]
│   │   ├── jmespath [required: >=0.7.1,<2.0.0, installed: 1.0.1]
│   │   ├── python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.2]
│   │   │   └── six [required: >=1.5, installed: 1.15.0]
│   │   └── urllib3 [required: >=1.25.4,<1.27, installed: 1.25.11]
│   ├── jmespath [required: >=0.7.1,<2.0.0, installed: 1.0.1]
│   └── s3transfer [required: >=0.7.0,<0.8.0, installed: 0.7.0]
│       └── botocore [required: >=1.12.36,<2.0a.0, installed: 1.31.80]
│           ├── jmespath [required: >=0.7.1,<2.0.0, installed: 1.0.1]
│           ├── python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.2]
│           │   └── six [required: >=1.5, installed: 1.15.0]
│           └── urllib3 [required: >=1.25.4,<1.27, installed: 1.25.11]
├── click [required: Any, installed: 8.1.7]
│   └── colorama [required: Any, installed: 0.4.4]
├── duckdb [required: Any, installed: 0.9.1]
├── geopandas [required: Any, installed: 0.13.2]
│   ├── Fiona [required: >=1.8.19, installed: 1.9.4.post1]
│   │   ├── attrs [required: >=19.2.0, installed: 23.1.0]
│   │   ├── certifi [required: Any, installed: 2020.6.20]
│   │   ├── click [required: ~=8.0, installed: 8.1.7]
│   │   │   └── colorama [required: Any, installed: 0.4.4]
│   │   ├── click-plugins [required: >=1.0, installed: 1.1.1]
│   │   │   └── click [required: >=4.0, installed: 8.1.7]
│   │   │       └── colorama [required: Any, installed: 0.4.4]
│   │   ├── cligj [required: >=0.5, installed: 0.7.2]
│   │   │   └── click [required: >=4.0, installed: 8.1.7]
│   │   │       └── colorama [required: Any, installed: 0.4.4]
│   │   ├── importlib-metadata [required: Any, installed: 2.0.0]
│   │   │   └── zipp [required: >=0.5, installed: 3.4.0]
│   │   └── six [required: Any, installed: 1.15.0]
│   ├── packaging [required: Any, installed: 23.0]
│   ├── pandas [required: >=1.1.0, installed: 2.0.2]
│   │   ├── numpy [required: >=1.20.3, installed: 1.24.1]
│   │   ├── python-dateutil [required: >=2.8.2, installed: 2.8.2]
│   │   │   └── six [required: >=1.5, installed: 1.15.0]
│   │   ├── pytz [required: >=2020.1, installed: 2023.3]
│   │   └── tzdata [required: >=2022.1, installed: 2023.3]
│   ├── pyproj [required: >=3.0.1, installed: 3.6.0]
│   │   └── certifi [required: Any, installed: 2020.6.20]
│   └── shapely [required: >=1.7.1, installed: 2.0.1]
│       └── numpy [required: >=1.14, installed: 1.24.1]
├── leafmap [required: Any, installed: 0.28.1]
│   ├── bqplot [required: Any, installed: 0.12.42]
│   │   ├── ipywidgets [required: >=7.5.0,<9, installed: 8.1.1]
│   │   │   ├── comm [required: >=0.1.3, installed: 0.2.0]
│   │   │   │   └── traitlets [required: >=4, installed: 5.0.5]
│   │   │   │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   │   ├── ipython [required: >=6.1.0, installed: 7.18.1]
│   │   │   │   ├── backcall [required: Any, installed: 0.2.0]
│   │   │   │   ├── colorama [required: Any, installed: 0.4.4]
│   │   │   │   ├── decorator [required: Any, installed: 4.4.2]
│   │   │   │   ├── jedi [required: >=0.10, installed: 0.17.2]
│   │   │   │   │   └── parso [required: >=0.7.0,<0.8.0, installed: 0.7.1]
│   │   │   │   ├── pickleshare [required: Any, installed: 0.7.5]
│   │   │   │   ├── prompt-toolkit [required: >=2.0.0,<3.1.0,!=3.0.1,!=3.0.0, installed: 3.0.8]
│   │   │   │   │   └── wcwidth [required: Any, installed: 0.2.5]
│   │   │   │   ├── Pygments [required: Any, installed: 2.7.2]
│   │   │   │   ├── setuptools [required: >=18.5, installed: 67.6.0]
│   │   │   │   └── traitlets [required: >=4.2, installed: 5.0.5]
│   │   │   │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   │   ├── jupyterlab-widgets [required: ~=3.0.9, installed: 3.0.9]
│   │   │   ├── traitlets [required: >=4.3.1, installed: 5.0.5]
│   │   │   │   └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   │   └── widgetsnbextension [required: ~=4.0.9, installed: 4.0.9]
│   │   ├── numpy [required: >=1.10.4, installed: 1.24.1]
│   │   ├── pandas [required: >=1.0.0,<3.0.0, installed: 2.0.2]
│   │   │   ├── numpy [required: >=1.20.3, installed: 1.24.1]
│   │   │   ├── python-dateutil [required: >=2.8.2, installed: 2.8.2]
│   │   │   │   └── six [required: >=1.5, installed: 1.15.0]
│   │   │   ├── pytz [required: >=2020.1, installed: 2023.3]
│   │   │   └── tzdata [required: >=2022.1, installed: 2023.3]
│   │   ├── traitlets [required: >=4.3.0, installed: 5.0.5]
│   │   │   └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   └── traittypes [required: >=0.0.6, installed: 0.2.1]
│   │       └── traitlets [required: >=4.2.2, installed: 5.0.5]
│   │           └── ipython-genutils [required: Any, installed: 0.2.0]
│   ├── colour [required: Any, installed: 0.1.5]
│   ├── folium [required: Any, installed: 0.15.0]
│   │   ├── branca [required: >=0.6.0, installed: 0.7.0]
│   │   │   └── Jinja2 [required: Any, installed: 3.1.2]
│   │   │       └── MarkupSafe [required: >=2.0, installed: 2.1.3]
│   │   ├── Jinja2 [required: >=2.9, installed: 3.1.2]
│   │   │   └── MarkupSafe [required: >=2.0, installed: 2.1.3]
│   │   ├── numpy [required: Any, installed: 1.24.1]
│   │   └── requests [required: Any, installed: 2.31.0]
│   │       ├── certifi [required: >=2017.4.17, installed: 2020.6.20]
│   │       ├── charset-normalizer [required: >=2,<4, installed: 3.3.2]
│   │       ├── idna [required: >=2.5,<4, installed: 2.10]
│   │       └── urllib3 [required: >=1.21.1,<3, installed: 1.25.11]
│   ├── gdown [required: Any, installed: 4.7.1]
│   │   ├── beautifulsoup4 [required: Any, installed: 4.9.3]
│   │   │   └── soupsieve [required: >1.2, installed: 2.0.1]
│   │   ├── filelock [required: Any, installed: 3.0.12]
│   │   ├── requests [required: Any, installed: 2.31.0]
│   │   │   ├── certifi [required: >=2017.4.17, installed: 2020.6.20]
│   │   │   ├── charset-normalizer [required: >=2,<4, installed: 3.3.2]
│   │   │   ├── idna [required: >=2.5,<4, installed: 2.10]
│   │   │   └── urllib3 [required: >=1.21.1,<3, installed: 1.25.11]
│   │   ├── six [required: Any, installed: 1.15.0]
│   │   └── tqdm [required: Any, installed: 4.51.0]
│   ├── geojson [required: Any, installed: 3.1.0]
│   ├── ipyevents [required: Any, installed: 2.0.2]
│   │   └── ipywidgets [required: >=7.6.0, installed: 8.1.1]
│   │       ├── comm [required: >=0.1.3, installed: 0.2.0]
│   │       │   └── traitlets [required: >=4, installed: 5.0.5]
│   │       │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │       ├── ipython [required: >=6.1.0, installed: 7.18.1]
│   │       │   ├── backcall [required: Any, installed: 0.2.0]
│   │       │   ├── colorama [required: Any, installed: 0.4.4]
│   │       │   ├── decorator [required: Any, installed: 4.4.2]
│   │       │   ├── jedi [required: >=0.10, installed: 0.17.2]
│   │       │   │   └── parso [required: >=0.7.0,<0.8.0, installed: 0.7.1]
│   │       │   ├── pickleshare [required: Any, installed: 0.7.5]
│   │       │   ├── prompt-toolkit [required: >=2.0.0,<3.1.0,!=3.0.1,!=3.0.0, installed: 3.0.8]
│   │       │   │   └── wcwidth [required: Any, installed: 0.2.5]
│   │       │   ├── Pygments [required: Any, installed: 2.7.2]
│   │       │   ├── setuptools [required: >=18.5, installed: 67.6.0]
│   │       │   └── traitlets [required: >=4.2, installed: 5.0.5]
│   │       │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │       ├── jupyterlab-widgets [required: ~=3.0.9, installed: 3.0.9]
│   │       ├── traitlets [required: >=4.3.1, installed: 5.0.5]
│   │       │   └── ipython-genutils [required: Any, installed: 0.2.0]
│   │       └── widgetsnbextension [required: ~=4.0.9, installed: 4.0.9]
│   ├── ipyfilechooser [required: Any, installed: 0.6.0]
│   │   └── ipywidgets [required: Any, installed: 8.1.1]
│   │       ├── comm [required: >=0.1.3, installed: 0.2.0]
│   │       │   └── traitlets [required: >=4, installed: 5.0.5]
│   │       │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │       ├── ipython [required: >=6.1.0, installed: 7.18.1]
│   │       │   ├── backcall [required: Any, installed: 0.2.0]
│   │       │   ├── colorama [required: Any, installed: 0.4.4]
│   │       │   ├── decorator [required: Any, installed: 4.4.2]
│   │       │   ├── jedi [required: >=0.10, installed: 0.17.2]
│   │       │   │   └── parso [required: >=0.7.0,<0.8.0, installed: 0.7.1]
│   │       │   ├── pickleshare [required: Any, installed: 0.7.5]
│   │       │   ├── prompt-toolkit [required: >=2.0.0,<3.1.0,!=3.0.1,!=3.0.0, installed: 3.0.8]
│   │       │   │   └── wcwidth [required: Any, installed: 0.2.5]
│   │       │   ├── Pygments [required: Any, installed: 2.7.2]
│   │       │   ├── setuptools [required: >=18.5, installed: 67.6.0]
│   │       │   └── traitlets [required: >=4.2, installed: 5.0.5]
│   │       │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │       ├── jupyterlab-widgets [required: ~=3.0.9, installed: 3.0.9]
│   │       ├── traitlets [required: >=4.3.1, installed: 5.0.5]
│   │       │   └── ipython-genutils [required: Any, installed: 0.2.0]
│   │       └── widgetsnbextension [required: ~=4.0.9, installed: 4.0.9]
│   ├── ipyleaflet [required: Any, installed: 0.17.4]
│   │   ├── branca [required: >=0.5.0, installed: 0.7.0]
│   │   │   └── Jinja2 [required: Any, installed: 3.1.2]
│   │   │       └── MarkupSafe [required: >=2.0, installed: 2.1.3]
│   │   ├── ipywidgets [required: >=7.6.0,<9, installed: 8.1.1]
│   │   │   ├── comm [required: >=0.1.3, installed: 0.2.0]
│   │   │   │   └── traitlets [required: >=4, installed: 5.0.5]
│   │   │   │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   │   ├── ipython [required: >=6.1.0, installed: 7.18.1]
│   │   │   │   ├── backcall [required: Any, installed: 0.2.0]
│   │   │   │   ├── colorama [required: Any, installed: 0.4.4]
│   │   │   │   ├── decorator [required: Any, installed: 4.4.2]
│        │   │   ├── jedi [required: >=0.10, installed: 0.17.2]
│   │   │   │   │   └── parso [required: >=0.7.0,<0.8.0, installed: 0.7.1]
│   │   │   │   ├── pickleshare [required: Any, installed: 0.7.5]
│   │   │   │   ├── prompt-toolkit [required: >=2.0.0,<3.1.0,!=3.0.1,!=3.0.0, installed: 3.0.8]
│   │   │   │   │   └── wcwidth [required: Any, installed: 0.2.5]
│   │   │   │   ├── Pygments [required: Any, installed: 2.7.2]
│   │   │   │   ├── setuptools [required: >=18.5, installed: 67.6.0]
│   │   │   │   └── traitlets [required: >=4.2, installed: 5.0.5]
│   │   │   │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   │   ├── jupyterlab-widgets [required: ~=3.0.9, installed: 3.0.9]
│   │   │   ├── traitlets [required: >=4.3.1, installed: 5.0.5]
│   │   │   │   └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   │   └── widgetsnbextension [required: ~=4.0.9, installed: 4.0.9]
│   │   ├── traittypes [required: >=0.2.1,<3, installed: 0.2.1]
│   │   │   └── traitlets [required: >=4.2.2, installed: 5.0.5]
│   │   │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   └── xyzservices [required: >=2021.8.1, installed: 2023.10.1]
│   ├── ipywidgets [required: Any, installed: 8.1.1]
│   │   ├── comm [required: >=0.1.3, installed: 0.2.0]
│   │   │   └── traitlets [required: >=4, installed: 5.0.5]
│   │   │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   ├── ipython [required: >=6.1.0, installed: 7.18.1]
│   │   │   ├── backcall [required: Any, installed: 0.2.0]
│   │   │   ├── colorama [required: Any, installed: 0.4.4]
│   │   │   ├── decorator [required: Any, installed: 4.4.2]
│   │   │   ├── jedi [required: >=0.10, installed: 0.17.2]
│   │   │   │   └── parso [required: >=0.7.0,<0.8.0, installed: 0.7.1]
│   │   │   ├── pickleshare [required: Any, installed: 0.7.5]
│   │   │   ├── prompt-toolkit [required: >=2.0.0,<3.1.0,!=3.0.1,!=3.0.0, installed: 3.0.8]
│   │   │   │   └── wcwidth [required: Any, installed: 0.2.5]
│   │   │   ├── Pygments [required: Any, installed: 2.7.2]
│   │   │   ├── setuptools [required: >=18.5, installed: 67.6.0]
│   │   │   └── traitlets [required: >=4.2, installed: 5.0.5]
│   │   │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   ├── jupyterlab-widgets [required: ~=3.0.9, installed: 3.0.9]
│   │   ├── traitlets [required: >=4.3.1, installed: 5.0.5]
│   │   │   └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   └── widgetsnbextension [required: ~=4.0.9, installed: 4.0.9]
│   ├── matplotlib [required: Any, installed: 3.5.1]
│   │   ├── cycler [required: >=0.10, installed: 0.10.0]
│   │   │   └── six [required: Any, installed: 1.15.0]
│   │   ├── fonttools [required: >=4.22.0, installed: 4.28.5]
│   │   ├── kiwisolver [required: >=1.0.1, installed: 1.2.0]
│   │   ├── numpy [required: >=1.17, installed: 1.24.1]
│   │   ├── packaging [required: >=20.0, installed: 23.0]
│   │   ├── Pillow [required: >=6.2.0, installed: 9.2.0]
│   │   ├── pyparsing [required: >=2.2.1, installed: 2.4.7]
│   │   └── python-dateutil [required: >=2.7, installed: 2.8.2]
│   │       └── six [required: >=1.5, installed: 1.15.0]
│   ├── numpy [required: Any, installed: 1.24.1]
│   ├── pandas [required: Any, installed: 2.0.2]
│   │   ├── numpy [required: >=1.20.3, installed: 1.24.1]
│   │   ├── python-dateutil [required: >=2.8.2, installed: 2.8.2]
│   │   │   └── six [required: >=1.5, installed: 1.15.0]
│   │   ├── pytz [required: >=2020.1, installed: 2023.3]
│   │   └── tzdata [required: >=2022.1, installed: 2023.3]
│   ├── pyshp [required: Any, installed: 2.3.1]
│   ├── pystac-client [required: Any, installed: 0.7.5]
│   │   ├── pystac [required: >=1.8.2, installed: 1.9.0]
│   │   │   └── python-dateutil [required: >=2.7.0, installed: 2.8.2]
│   │   │       └── six [required: >=1.5, installed: 1.15.0]
│   │   ├── python-dateutil [required: >=2.8.2, installed: 2.8.2]
│   │   │   └── six [required: >=1.5, installed: 1.15.0]
│   │   └── requests [required: >=2.28.2, installed: 2.31.0]
│   │       ├── certifi [required: >=2017.4.17, installed: 2020.6.20]
│   │       ├── charset-normalizer [required: >=2,<4, installed: 3.3.2]
│   │       ├── idna [required: >=2.5,<4, installed: 2.10]
│   │       └── urllib3 [required: >=1.21.1,<3, installed: 1.25.11]
│   ├── python-box [required: Any, installed: 7.1.1]
│   ├── scooby [required: Any, installed: 0.9.2]
│   ├── whiteboxgui [required: Any, installed: 2.3.0]
│   │   ├── ipyfilechooser [required: Any, installed: 0.6.0]
│   │   │   └── ipywidgets [required: Any, installed: 8.1.1]
│   │   │       ├── comm [required: >=0.1.3, installed: 0.2.0]
│   │   │       │   └── traitlets [required: >=4, installed: 5.0.5]
│   │   │       │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   │       ├── ipython [required: >=6.1.0, installed: 7.18.1]
│   │   │       │   ├── backcall [required: Any, installed: 0.2.0]
│   │   │       │   ├── colorama [required: Any, installed: 0.4.4]
│   │   │       │   ├── decorator [required: Any, installed: 4.4.2]
│   │   │       │   ├── jedi [required: >=0.10, installed: 0.17.2]
│   │   │       │   │   └── parso [required: >=0.7.0,<0.8.0, installed: 0.7.1]
│   │   │       │   ├── pickleshare [required: Any, installed: 0.7.5]
│   │   │       │   ├── prompt-toolkit [required: >=2.0.0,<3.1.0,!=3.0.1,!=3.0.0, installed: 3.0.8]
│   │   │       │   │   └── wcwidth [required: Any, installed: 0.2.5]
│   │   │       │   ├── Pygments [required: Any, installed: 2.7.2]
│   │   │       │   ├── setuptools [required: >=18.5, installed: 67.6.0]
│   │   │       │   └── traitlets [required: >=4.2, installed: 5.0.5]
│   │   │       │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   │       ├── jupyterlab-widgets [required: ~=3.0.9, installed: 3.0.9]
│   │   │       ├── traitlets [required: >=4.3.1, installed: 5.0.5]
│   │   │       │   └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   │       └── widgetsnbextension [required: ~=4.0.9, installed: 4.0.9]
│   │   ├── ipytree [required: Any, installed: 0.2.2]
│   │   │   └── ipywidgets [required: >=7.5.0,<9, installed: 8.1.1]
│   │   │       ├── comm [required: >=0.1.3, installed: 0.2.0]
│   │   │       │   └── traitlets [required: >=4, installed: 5.0.5]
│   │   │       │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   │       ├── ipython [required: >=6.1.0, installed: 7.18.1]
│   │   │       │   ├── backcall [required: Any, installed: 0.2.0]
│   │   │       │   ├── colorama [required: Any, installed: 0.4.4]
│   │   │       │   ├── decorator [required: Any, installed: 4.4.2]
│   │   │       │   ├── jedi [required: >=0.10, installed: 0.17.2]
│   │   │       │   │   └── parso [required: >=0.7.0,<0.8.0, installed: 0.7.1]
│   │   │       │   ├── pickleshare [required: Any, installed: 0.7.5]
│   │   │       │   ├── prompt-toolkit [required: >=2.0.0,<3.1.0,!=3.0.1,!=3.0.0, installed: 3.0.8]
│   │   │       │   │   └── wcwidth [required: Any, installed: 0.2.5]
│   │   │       │   ├── Pygments [required: Any, installed: 2.7.2]
│   │   │       │   ├── setuptools [required: >=18.5, installed: 67.6.0]
│   │   │       │   └── traitlets [required: >=4.2, installed: 5.0.5]
│   │   │       │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   │       ├── jupyterlab-widgets [required: ~=3.0.9, installed: 3.0.9]
│   │   │       ├── traitlets [required: >=4.3.1, installed: 5.0.5]
│   │   │       │   └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   │       └── widgetsnbextension [required: ~=4.0.9, installed: 4.0.9]
│   │   ├── ipywidgets [required: Any, installed: 8.1.1]
│   │   │   ├── comm [required: >=0.1.3, installed: 0.2.0]
│   │   │   │   └── traitlets [required: >=4, installed: 5.0.5]
│   │   │   │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   │   ├── ipython [required: >=6.1.0, installed: 7.18.1]
│   │   │   │   ├── backcall [required: Any, installed: 0.2.0]
│   │   │   │   ├── colorama [required: Any, installed: 0.4.4]
│   │   │   │   ├── decorator [required: Any, installed: 4.4.2]
│   │   │   │   ├── jedi [required: >=0.10, installed: 0.17.2]
│   │   │   │   │   └── parso [required: >=0.7.0,<0.8.0, installed: 0.7.1]
│   │   │   │   ├── pickleshare [required: Any, installed: 0.7.5]
│   │   │   │   ├── prompt-toolkit [required: >=2.0.0,<3.1.0,!=3.0.1,!=3.0.0, installed: 3.0.8]
│   │   │   │   │   └── wcwidth [required: Any, installed: 0.2.5]
│   │   │   │   ├── Pygments [required: Any, installed: 2.7.2]
│   │   │   │   ├── setuptools [required: >=18.5, installed: 67.6.0]
│   │   │   │   └── traitlets [required: >=4.2, installed: 5.0.5]
│   │   │   │       └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   │   ├── jupyterlab-widgets [required: ~=3.0.9, installed: 3.0.9]
│   │   │   ├── traitlets [required: >=4.3.1, installed: 5.0.5]
│   │   │   │   └── ipython-genutils [required: Any, installed: 0.2.0]
│   │   │   └── widgetsnbextension [required: ~=4.0.9, installed: 4.0.9]
│   │   └── whitebox [required: Any, installed: 2.3.1]
│   │       └── click [required: >=6.0, installed: 8.1.7]
│   │           └── colorama [required: Any, installed: 0.4.4]
│   └── xyzservices [required: Any, installed: 2023.10.1]
├── mercantile [required: Any, installed: 1.2.1]
│   └── click [required: >=3.0, installed: 8.1.7]
│       └── colorama [required: Any, installed: 0.4.4]
├── openlocationcode [required: Any, installed: 1.0.1]
├── pandas [required: Any, installed: 2.0.2]
│   ├── numpy [required: >=1.20.3, installed: 1.24.1]
│   ├── python-dateutil [required: >=2.8.2, installed: 2.8.2]
│   │   └── six [required: >=1.5, installed: 1.15.0]
│   ├── pytz [required: >=2020.1, installed: 2023.3]
│   └── tzdata [required: >=2022.1, installed: 2023.3]
├── shapely [required: Any, installed: 2.0.1]
│   └── numpy [required: >=1.14, installed: 1.24.1]
└── tabulate [required: Any, installed: 0.9.0]

From the tree output, leamap had the most deps thus a general inspection through the code base to find instances in which the package is being used by using visual studio code text editor search ctrl + shift + f functionality.
image

It turns out to be used once, in the examples file download_buildings.ipynb and no usage in the main package source code. Hence kept asking the question why it is included in the main requirements.txt file instead of just docs requirements.

side Note: Any instructions on how to build the docs locally would be appreciated thanks for the awesome tool.

@koyo-nic koyo-nic added the bug Something isn't working label Nov 8, 2023
@mtravis
Copy link
Contributor

mtravis commented Nov 8, 2023

@koyo-nic Thanks for that info. We can remove leafmap if it's not needed.

In terms of testing locally, I've got a fork that I clone and then install open-buildings using python3 setup.py install
There might be other ways to do that I'm not aware of.

Let us know if you need any more help with that.

@koyo-nic
Copy link
Author

koyo-nic commented Nov 9, 2023

@mtravis After assessing the main package imports somethings came out clearly. There are packages not included in the main requirements.txt file but are with in the leafmap dependencies deptree.

  • cli.py : matplotlib pkg usage -> benchmark function for ploting charts(possiblility of df.plot(kind=bar, rot-0) to something like df.plot.hist().get_figure().savefig('_benchmark.png')?) not tried out yet. line 136
  • google/stac-geoparquet.py pystac pkg
    So I'd be very cautious before removing the dep. Unless explicitly including the two pkgs in req file to avoid possible missing-module error
    Consequently geopandas installs both pandas & shapely along with it. At the moment can't figure out clear way to go through with this. but probably after a few local install test i can document something concrete as for the dep cycles.
    As for the local install. I wanted to try using pypa modern approach using pyproject.toml file using either hatch or poetry or rye or flit tools that's why I spent so much time understanding the depencies

@cholmes
Copy link
Collaborator

cholmes commented Dec 6, 2023

Yeah, I think it may make sense to just remove the leafmap stuff to make the whole package a bit simpler. It brings a lot of stuff with it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants