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

Switch to Pixi for development / CI and hatchling for build system #6775

Merged
merged 138 commits into from
May 14, 2024
Merged

Conversation

hoxbro
Copy link
Member

@hoxbro hoxbro commented Apr 22, 2024

More information can be found here: holoviz/holoviews#6182

TODO:

  • Update documentation
  • Decide what we should have in the sdist.
  • Decide what should be in optional dependencies Postponed to the the future
  • Add a Jupyterlite Pixi feature/environment? Thinking about having lite-build and lite-server as tasks. Postponed to the the future

@hoxbro hoxbro changed the title [WIP] Switch to Pixi for development / CI and hatchling for build system Switch to Pixi for development / CI and hatchling for build system May 7, 2024
@hoxbro hoxbro marked this pull request as ready for review May 7, 2024 18:15
scripts/hatch_build.py Outdated Show resolved Hide resolved
Copy link
Member

@philippjfr philippjfr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Three items I'd like to see before merge:

  • Merge dev doc notebook with md file
  • Move build hooks to root
  • Triple check contents of package matches older builds

@hoxbro
Copy link
Member Author

hoxbro commented May 13, 2024

Comparison between build artifacts for run 649 (main) and 652 (this PR)

Wheel
                                    Panel - wheel
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Files only in run 1              ┃ Files only in run 2                            ┃
┃ panel 1.5.0a2.post1+g8520aba4    ┃ panel 1.5.0a2.post1.dev103+g7ab9403d           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ $VERSION.dist-info/LICENSE.txt   │ $VERSION.dist-info/licenses/LICENSE.txt        │
│ $VERSION.dist-info/top_level.txt │ panel/.eslintrc.js                             │
│ panel/.version                   │ panel/__version.py                             │
│ -                                │ panel/_version.py                              │
│ -                                │ panel/styles/models/card.less                  │
│ -                                │ panel/styles/models/perspective.less           │
│ -                                │ panel/styles/models/plotly.less                │
│ -                                │ panel/styles/models/video.less                 │
│ -                                │ panel/tests/chat/conftest.py                   │
│ -                                │ panel/tests/chat/test_feed.py                  │
│ -                                │ panel/tests/chat/test_icon.py                  │
│ -                                │ panel/tests/chat/test_input.py                 │
│ -                                │ panel/tests/chat/test_interface.py             │
│ -                                │ panel/tests/chat/test_langchain.py             │
│ -                                │ panel/tests/chat/test_message.py               │
│ -                                │ panel/tests/manual/models.py                   │
│ -                                │ panel/tests/models/test_deckgl.py              │
│ -                                │ panel/tests/models/test_location.py            │
│ -                                │ panel/tests/test_data/sample.pdf               │
│ -                                │ panel/tests/theme/test.css                     │
│ -                                │ panel/tests/theme/test_base.py                 │
│ -                                │ panel/tests/theme/test_subclass.py             │
│ -                                │ panel/tests/ui/chat/test_chat_interface_ui.py  │
│ -                                │ panel/tests/ui/chat/test_chat_message.py       │
│ -                                │ panel/tests/ui/chat/test_chat_reaction_icon.py │
│ -                                │ panel/tests/ui/chat/test_input_ui.py           │
│ -                                │ panel/tests/ui/command/test_serve.py           │
│ -                                │ panel/tests/ui/io/app.ipynb                    │
│ -                                │ panel/tests/ui/io/app.md                       │
│ -                                │ panel/tests/ui/logout.html                     │
└──────────────────────────────────┴────────────────────────────────────────────────┘


Sdist*
                                                                  Panel - sdist
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Files only in run 1                                                         ┃ Files only in run 2                                              ┃
┃ panel 1.5.0a2.post1+g8520aba4                                               ┃ panel 1.5.0a2.post1.dev103+g7ab9403d                             ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ $VERSION/MANIFEST.in                                                        │ $VERSION/.gitignore                                              │
│ $VERSION/examples/developer_guide/Developing_Custom_Models.ipynb            │ $VERSION/hatch_build.py                                          │
│ $VERSION/jupyter-config/jupyter_notebook_config.d/panel-client-jupyter.json │ $VERSION/panel/.eslintrc.js                                      │
│ $VERSION/jupyter-config/jupyter_server_config.d/panel-client-jupyter.json   │ $VERSION/panel/__version.py                                      │
│ $VERSION/panel.egg-info/PKG-INFO                                            │ $VERSION/panel/_version.py                                       │
│ $VERSION/panel.egg-info/SOURCES.txt                                         │ $VERSION/panel/styles/models/card.less                           │
│ $VERSION/panel.egg-info/dependency_links.txt                                │ $VERSION/panel/styles/models/perspective.less                    │
│ $VERSION/panel.egg-info/entry_points.txt                                    │ $VERSION/panel/styles/models/plotly.less                         │
│ $VERSION/panel.egg-info/requires.txt                                        │ $VERSION/panel/styles/models/video.less                          │
│ $VERSION/panel.egg-info/top_level.txt                                       │ $VERSION/panel/tests/chat/conftest.py                            │
│ $VERSION/panel/.version                                                     │ $VERSION/panel/tests/chat/test_feed.py                           │
│ $VERSION/setup.cfg                                                          │ $VERSION/panel/tests/chat/test_icon.py                           │
│ $VERSION/setup.py                                                           │ $VERSION/panel/tests/chat/test_input.py                          │
│ -                                                                           │ $VERSION/panel/tests/chat/test_interface.py                      │
│ -                                                                           │ $VERSION/panel/tests/chat/test_langchain.py                      │
│ -                                                                           │ $VERSION/panel/tests/chat/test_message.py                        │
│ -                                                                           │ $VERSION/panel/tests/manual/models.py                            │
│ -                                                                           │ $VERSION/panel/tests/models/test_deckgl.py                       │
│ -                                                                           │ $VERSION/panel/tests/models/test_location.py                     │
│ -                                                                           │ $VERSION/panel/tests/test_data/sample.pdf                        │
│ -                                                                           │ $VERSION/panel/tests/theme/test.css                              │
│ -                                                                           │ $VERSION/panel/tests/theme/test_base.py                          │
│ -                                                                           │ $VERSION/panel/tests/theme/test_subclass.py                      │
│ -                                                                           │ $VERSION/panel/tests/ui/chat/test_chat_interface_ui.py           │
│ -                                                                           │ $VERSION/panel/tests/ui/chat/test_chat_message.py                │
│ -                                                                           │ $VERSION/panel/tests/ui/chat/test_chat_reaction_icon.py          │
│ -                                                                           │ $VERSION/panel/tests/ui/chat/test_input_ui.py                    │
│ -                                                                           │ $VERSION/panel/tests/ui/command/test_serve.py                    │
│ -                                                                           │ $VERSION/panel/tests/ui/io/app.ipynb                             │
│ -                                                                           │ $VERSION/panel/tests/ui/io/app.md                                │
│ -                                                                           │ $VERSION/panel/tests/ui/logout.html                              │
│ -                                                                           │ $VERSION/scripts/build_pyodide_wheels.py                         │
│ -                                                                           │ $VERSION/scripts/bundle_resources.py                             │
│ -                                                                           │ $VERSION/scripts/cdn_upload.py                                   │
│ -                                                                           │ $VERSION/scripts/conda/build.sh                                  │
│ -                                                                           │ $VERSION/scripts/conda/recipe/meta.yaml                          │
│ -                                                                           │ $VERSION/scripts/gallery/collect_thumbnails.py                   │
│ -                                                                           │ $VERSION/scripts/gallery/convert_gallery.py                      │
│ -                                                                           │ $VERSION/scripts/jupyter-config/notebook.json                    │
│ -                                                                           │ $VERSION/scripts/jupyter-config/server.json                      │
│ -                                                                           │ $VERSION/scripts/panelite/generate_panelite_content.py           │
│ -                                                                           │ $VERSION/scripts/panelite/test/__init__.py                       │
│ -                                                                           │ $VERSION/scripts/panelite/test/failed_tests.txt                  │
│ -                                                                           │ $VERSION/scripts/panelite/test/notebooks_with_panelite_issues.py │
│ -                                                                           │ $VERSION/scripts/panelite/test/test_panelite.py                  │
│ -                                                                           │ $VERSION/scripts/panelite/test/test_utils.py                     │
│ -                                                                           │ $VERSION/scripts/panelite/test/utils.py                          │
└─────────────────────────────────────────────────────────────────────────────┴──────────────────────────────────────────────────────────────────┘

Conda
                                                  Panel - conda
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Files only in run 1                            ┃ Files only in run 2                                          ┃
┃ panel 1.5.0a2.post1+g8520aba4                  ┃ panel 1.5.0a2.post1.dev103+g7ab9403d                         ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ site-packages/$VERSION.dist-info/LICENSE.txt   │ info/has_prefix                                              │
│ site-packages/$VERSION.dist-info/top_level.txt │ python-scripts/panel                                         │
│ site-packages/panel/.version                   │ site-packages/$VERSION.dist-info/licenses/LICENSE.txt        │
│ -                                              │ site-packages/panel/.eslintrc.js                             │
│ -                                              │ site-packages/panel/__version.py                             │
│ -                                              │ site-packages/panel/_version.py                              │
│ -                                              │ site-packages/panel/styles/models/card.less                  │
│ -                                              │ site-packages/panel/styles/models/perspective.less           │
│ -                                              │ site-packages/panel/styles/models/plotly.less                │
│ -                                              │ site-packages/panel/styles/models/video.less                 │
│ -                                              │ site-packages/panel/tests/chat/conftest.py                   │
│ -                                              │ site-packages/panel/tests/chat/test_feed.py                  │
│ -                                              │ site-packages/panel/tests/chat/test_icon.py                  │
│ -                                              │ site-packages/panel/tests/chat/test_input.py                 │
│ -                                              │ site-packages/panel/tests/chat/test_interface.py             │
│ -                                              │ site-packages/panel/tests/chat/test_langchain.py             │
│ -                                              │ site-packages/panel/tests/chat/test_message.py               │
│ -                                              │ site-packages/panel/tests/manual/models.py                   │
│ -                                              │ site-packages/panel/tests/models/test_deckgl.py              │
│ -                                              │ site-packages/panel/tests/models/test_location.py            │
│ -                                              │ site-packages/panel/tests/test_data/sample.pdf               │
│ -                                              │ site-packages/panel/tests/theme/test.css                     │
│ -                                              │ site-packages/panel/tests/theme/test_base.py                 │
│ -                                              │ site-packages/panel/tests/theme/test_subclass.py             │
│ -                                              │ site-packages/panel/tests/ui/chat/test_chat_interface_ui.py  │
│ -                                              │ site-packages/panel/tests/ui/chat/test_chat_message.py       │
│ -                                              │ site-packages/panel/tests/ui/chat/test_chat_reaction_icon.py │
│ -                                              │ site-packages/panel/tests/ui/chat/test_input_ui.py           │
│ -                                              │ site-packages/panel/tests/ui/command/test_serve.py           │
│ -                                              │ site-packages/panel/tests/ui/io/app.ipynb                    │
│ -                                              │ site-packages/panel/tests/ui/io/app.md                       │
│ -                                              │ site-packages/panel/tests/ui/logout.html                     │
└────────────────────────────────────────────────┴──────────────────────────────────────────────────────────────┘

NPM
                                             Panel - npmjs
┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Files only in run 1 ┃ Files only in run 2                                                           ┃
┃ panel 1.5.0 a.2     ┃ panel 1.5.0 a.2                                                               ┃
┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ -                   │ package/dist/bundled/font-awesome/LICENSE.txt                                 │
│ -                   │ package/dist/bundled/reveal.js@4.5.0/LICENSE                                  │
│ -                   │ package/dist/bundled/reveal.js@4.5.0/dist/theme/fonts/league-gothic/LICENSE   │
│ -                   │ package/dist/bundled/reveal.js@4.5.0/dist/theme/fonts/source-sans-pro/LICENSE │
└─────────────────────┴───────────────────────────────────────────────────────────────────────────────┘

*) For the existing sdist implementation, the doc folder has been removed.

@philippjfr
Copy link
Member

Thank you so much for all your work here! Let's find out how it goes.

@philippjfr philippjfr merged commit a22fb70 into main May 14, 2024
29 checks passed
@philippjfr philippjfr deleted the pixi branch May 14, 2024 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants