-
Notifications
You must be signed in to change notification settings - Fork 386
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
General reorganization and modernization of the repository #1140
Conversation
* Move jupytext module inside src in root * Create a new module jupytext_config with same behaviour as console script
* Not relevant with Nb 7
* Folder jupyterlab in root will contain all jupyter related stuff * More TS packages must be added in jupyterlab/packages folder * Added empty style files * Removed duplicate LICENSE file
* Use top level package.json to build all extensions at once * Add lint config to lint TS src * Add yarn config file that is needed for Yarn 3 * Bump jupyterlab-jupytext extension node deps to JLab 4 * Modify jupyterlab-jupytext extension's package.json for new repo structure
* Jupyter server and lab extension points are moved to jupyterlab module * Names are modified appropriately in config files
* Use pyproject.toml inline with PEP621 * Remove unused pylint cfg and add ruff tool * Remove individual cfg files as everything is consolidated in pyproject.toml
* Lint contents of jupyterlab * Add yarn.lock for reproducible builds
* Split workflows into logical steps and use nested workflow approach * General maintainence on workflows to work with new build organization and build system * Install kernel when quatro is installed. Seems like CI fails otherwise https://github.com/mahendrapaipuri/jupytext/actions/runs/6561210848/job/17820549979 * Add alls-green action to show CI results in more UI friendly way * Use optional uploading of build artifacts
Thank you for the rebase 😃. Don't know if I can look at it until Friday. If there's something specific, ping me. |
The original #1134 became a nightmare for me to follow the discussion. And GitHub rate limiting made it even worst with ever loading pages. I cherry picked and reworked on commits to have a cleaner git history (at least I tried my best). @LecrisUT I understand that you have a strong preference on how workflows should be organization, fair enough. Let's not again open the can of worms here. I would suggest you to work on a separate PR once this one gets merged. It will be more faster and efficient as you have a clear vision on how the CI workflows should be organized. In any case, I tried to bring as many changes in CI workflows as I can to the current one from the discussion in #1134 as we spent already quite a lot of time. Lets try to strictly scope the discussion for important changes and work on the rest in subsequent PRs. Unfortuanately,
Seems like its a bug in Github. I have also removed all the files and config related to @mwouts Cheers for testing build. It was actually a problem with |
Good news: CI is green -> https://github.com/mahendrapaipuri/jupytext/actions/runs/6563080047 |
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @mahendrapaipuri , thank you for this. This is awesome.
I have been able to build and test the package locally and I am very happy with it.
I have left a couple of comments, most of them are questions, only two of them really matter to me: 1. the size of the package (too big, I'd rather not include the tests) and 2. I'd prefer to keep jupytext.TextFileContentsManager
for backward compatibility.
I am fine with merging your PR in its current state or with the two points above corrected, as you prefer.
Thank you again for this beautiful piece!
Hi @mahendrapaipuri , FYI I have started working on the changelog/doc update, on top of your PR, cf. https://github.com/mwouts/jupytext/tree/version_1.16-dev Also, I think I would like to publish a version |
@mwouts No problem, should not be an issue !! |
* See https://github.com/mwouts/jupytext/pull/1140/files#r1364945854 * Remove unnecessary env var in binder postbuild
I'm good with this version, so I'll let the CI finish and merge this PR. Thank you again @mahendrapaipuri ! |
Codecov Report
@@ Coverage Diff @@
## main #1140 +/- ##
==========================================
+ Coverage 94.73% 94.99% +0.26%
==========================================
Files 123 29 -94
Lines 11290 4419 -6871
==========================================
- Hits 10696 4198 -6498
+ Misses 594 221 -373
... and 95 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Prologue:
This PR is the work started in #1134. The aforementioned PR is closed in favour of the current one to have a cleaner and more scoped discussion.
Description:
This PR attempts to reorganize repo to
src-layout
, migrate the package to hatch build system which is being used in the Jupyter ecosystem and also address PEP621 by moving all the package metadata topyproject.toml
.New organization:
Only important folders are listed in the tree
Breaking changes:
src-layout
to put all core modules ofjupytext
insrc/
folderjupytext_config
has been created with same behaviour asjupytext-config
console scriptjupyterlab_jupytext
has been moved intojupyterlab/
folder including all jupyter related config files.jupyterlab_jupytext
will be distributed as another python module along withjupytext
,jupytext_config
. All thejupyter_server
andjupyterlab
related extension registration has been moved intojupyterlab_jupytext
module.HATCH_BUILD_HOOKS_ENABLE=false
env var for local dev.TLDR;
Instead of distrtributing a single
jupytext
package (which is the current case now), we split it into threejupytext
(core),jupytext_config
(config) andjupyterlab_jupytext
(Jupyter server and lab extension). Building of labextension can be usingHATCH_BUILD_HOOKS_ENABLE=false
env var when building the package in local dev env.List of changes:
3.8
inline with JupyterLab 4sphinx-gallery
dependency has been removedpyproject.toml
tox
config has been removedTodo:
Closes #1076
Closes #1114
Closes #1135