From ea13e13d8df90beb369cae63d20c32fdfedf7868 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Wed, 26 Oct 2022 04:25:57 +0200 Subject: [PATCH 1/2] Migrate content to team compass --- .gitignore | 1 - docs/_static/logo-wide.png | Bin 13985 -> 0 bytes docs/_static/logo-wide.svg | 8 + docs/_static/logo.svg | 6 - docs/about.md | 71 ---- docs/bootstrap-governance/code-of-conduct.md | 13 - docs/bootstrap-governance/governance.md | 137 ------- docs/bootstrap-governance/index.md | 29 -- docs/bootstrap-governance/meps.md | 89 ----- docs/communication.md | 35 -- docs/conf.py | 20 +- docs/contribute.md | 41 ++ docs/developer.md | 42 -- docs/feature-vote.md | 3 +- docs/index.md | 93 +++-- docs/meetings/2021.md | 398 ------------------- docs/meetings/2022.md | 171 -------- docs/meetings/index.md | 24 -- docs/resources.md | 14 - docs/team.md | 10 +- requirements.txt | 3 +- tox.ini | 2 +- 22 files changed, 114 insertions(+), 1096 deletions(-) delete mode 100644 docs/_static/logo-wide.png create mode 100644 docs/_static/logo-wide.svg delete mode 100644 docs/_static/logo.svg delete mode 100644 docs/about.md delete mode 100644 docs/bootstrap-governance/code-of-conduct.md delete mode 100644 docs/bootstrap-governance/governance.md delete mode 100644 docs/bootstrap-governance/index.md delete mode 100644 docs/bootstrap-governance/meps.md delete mode 100644 docs/communication.md create mode 100644 docs/contribute.md delete mode 100644 docs/developer.md delete mode 100644 docs/meetings/2021.md delete mode 100644 docs/meetings/2022.md delete mode 100644 docs/meetings/index.md delete mode 100644 docs/resources.md diff --git a/.gitignore b/.gitignore index 118b1e8..336ea06 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ docs/_build *.ipynb_checkpoints -docs/contributing.md .vscode/ docs/gallery.txt docs/issue-votes.txt diff --git a/docs/_static/logo-wide.png b/docs/_static/logo-wide.png deleted file mode 100644 index 32faa4919aa98b88a61c5d9de834a63efc15c6ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13985 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 + + + + + + + diff --git a/docs/_static/logo.svg b/docs/_static/logo.svg deleted file mode 100644 index b1e556b..0000000 --- a/docs/_static/logo.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/about.md b/docs/about.md deleted file mode 100644 index 3af31d6..0000000 --- a/docs/about.md +++ /dev/null @@ -1,71 +0,0 @@ -# About the project - -The Executable Book Project is an international collaboration between -several universities and open source projects. It is primarily a collaboration -between groups at [The Australian National University](https://anu.edu.au), -[Northern Arizona University](https://nau.edu/), and -[The University of California at Berkeley](https://www.berkeley.edu/). These teams collectively -represent many open source projects in the scientific community, specifically -[QuantEcon](https://quantecon.org), [QIIME](https://qiime2.org/), and [The Jupyter Project](https://jupyter.org/). - -This project is funded by a grant from the [Alfred P. Sloan Foundation](https://sloan.org/). - -## Our technical goals - -The goal of the EBP is to build tools that facilitate creating -professional computational narratives (books, lecture series, articles, etc.) -using open source tools. We want users in the scientific, academic, -and data science communities to be able to do the following: - -* **Write their content in either markdown text files, or Jupyter Notebooks**. - These files include rich content - outputs from running code, references - and cross-references, equations, etc. -* **Execute content and cache the results**. Intelligent caching means - that only modified code cells are re-run. -* **Combine cached outputs with content files with a document model**. Using - the excellent [Sphinx](https://www.sphinx-doc.org/en/master/) documentation - stack, documents can include many features for publishing, such as - equations, cross-references, and citations. -* **Build interactive HTML or publication-quality PDF outputs**. Sometimes - users wish to create rich and interactive websites, other times they want to - send a high-quality PDF to a publisher. This system will treat both as - equal citizens. -* **Control everything above with a simple command-line interface**. Most - users should not have to know anything about Sphinx, caching, etc. A simple - user interface will hide most of the complexity of this process. - -See the [tools section](../tools.md) for a few examples of the tools we've created -as a part of this project. - -## Guiding principles and constraints - -In running this project, we aim to adhere to several principles that we believe -will result in higher-quality technology that aligns with the core principles -of the open source community. Here are a few key components: - -* **Give equal support to casual users and power users**. Complicating the feature - space to support a "power user feature" should be done with great care. -* **Build modular components that are useful elsewhere**. Rather than building - a single vertical stack, find parts of the workflow that naturally separate. - Create modular tools for these parts so that they may benefit the community - outside of the context of building interactive books. -* **Use pre-existing technology where possible**. Rather than re-inventing - the wheel, make every effort to utilize pre-existing open source tech. -* **Use pre-existing standards where possible**. In the event that we must - create new patterns of content creation or tooling, utilize prior art in - the open source community as much as possible, especially when it comes to - markup languages. -* **Contribute improvements upstream**. Where we utilize pre-existing tools, - contribute improvements to them as we build off of them for this project. -* **Design for the future**. While we have a bit of funding now, it won't last - forever. This means the technology should be easy for potential developers - to read, understand, and modify/improve. -* **Users should not need to know anything about the build system**. If they - want to dig into the guts of our infrastructure, they can, but knowledge - of Sphinx, Latex, and so on should not be a requirement. They should only need to - use a simple tool to control the process. -* **Don't try to do everything**. Focus our tools on publishing - computational documents with reasonable choices made for the user. - -Browse the rest of this site for more information about what we're working -on and our plans for what's coming next. diff --git a/docs/bootstrap-governance/code-of-conduct.md b/docs/bootstrap-governance/code-of-conduct.md deleted file mode 100644 index a7873a3..0000000 --- a/docs/bootstrap-governance/code-of-conduct.md +++ /dev/null @@ -1,13 +0,0 @@ -(policy:coc)= -# Code of Conduct - -:::{note} - -This is an informal Code of Conduct, and is used as a stand-in best practice until we formally define a CoC and response process for this community. - -::: - -The Executable Book Project follows a community -[Code of Conduct](https://github.com/executablebooks/.github/blob/master/CODE_OF_CONDUCT.md). -Please use that document as the source of truth for interacting with the EBP -community. diff --git a/docs/bootstrap-governance/governance.md b/docs/bootstrap-governance/governance.md deleted file mode 100644 index ad928f8..0000000 --- a/docs/bootstrap-governance/governance.md +++ /dev/null @@ -1,137 +0,0 @@ -# Governance of Executable Books - -```{note} -_All contributors_ to the Executable Books Project (including but not limited to individuals contributing code, providing technical support, teaching workshops, and engaging in discussions about changes to EBP policy or the MyST Specification) are expected to adhere to the [Code of Conduct](policy:coc). -``` - -This page describes the groups of people with decision-making authority in the project, as well as the Sources of Truth for organizational policy and the process around changing it. - -## Decision-making groups - -### Steering Council - -Have decision-making authority over the entire organization. -Their primary duty is to set organizational policy and strategy, to steward all technical and IP assets of the organization, to make decisions when we are at an impasse, and to delegate decision-making power to others in the organization. - -The Steering Council is currently comprised of the three Principal Investigators of the original grant funding the project: [Chris Holdgraf](https://github.com/choldgraf), [John Stachurski](https://github.com/jstac), and [Greg Caporaso](https://github.com/gregcaporaso). - -```{note} -We expect the Steering Council to expand in the future, and this initial Steering Council will define policies that set the expectations for steering council membership as well as the process for modifying or expanding the steering council membership in the future. -``` - -#### Responsibilies - -```{note} -This is intentionally blank for now, we will add more information in the coming weeks. -``` - -% - Define organizational policy, strategy, and values -% - Hold the community accountable to its mission and its code of conduct -% - Oversee the structure and system of work in the community -% - Delegate authority and responsibility to position the project for success - -#### Expectations - -```{note} -This is intentionally simple for now, we will add more information in the coming weeks. -``` - -Steering Council Members agree to abide by the [EBP Code of Conduct](policy:coc). - - -#### Privileges - -- _Owner_ status of the [executablebooks](https://github.com/executablebooks) GitHub organizations and repositories. -- Access to any credentials or accounts that the project uses. At least two Steering Council members must have access to all project credentials. -- All [Core Team privileges](governance:privileges:core-team)= - -### Core team members - -Individuals who are particularly interested in the EBP community and have demonstrated a willingness to participate in our community and further its mission. They guide discussion, grow the community, contribute code, and generally help the project improve. - -Currently the core team is [defined here](https://executablebooks.org/en/latest/team.html). - -#### Responsibilities - -```{note} -This is intentionally blank for now, we will add more information in the coming weeks. -``` - - -#### Expectations - -```{note} -This is intentionally simple for now, we will add more information in the coming weeks. -``` - -Core Team Members agree to abide by the [EBP Code of Conduct](https://github.com/executablebooks/.github/blob/master/CODE_OF_CONDUCT.md). - -(governance:privileges:core-team)= -#### Privileges - -```{note} -This is intentionally simple for now, we will add more information in the coming weeks. -``` - -- Write permissions for any repository they are willing to steward. -- Voting privileges for [MyST Enhancement Proposals](governance:meps). - -## Sources of truth - -### Team Policy - -Team Policy is defined at the [`executablebooks/team-compass`](https://github.com/executablebooks/team-compass) repository. - -Our Team Compass is the Source of Truth (SoT) for all organizational policy[^1]. The Team Compass should make it clear what is _policy_ and what is _guidance_. It should define clear sections that are community "musts" and others that are "guidelines and recommendations". - -It can also delegate SoT status to other places in the organization. It delegates the SoT for the MyST specification to `myst-spec/`. - -[^1]: A Team Compass is common in the Jupyter ecoystem (e.g., [here is JupyterHub's Team Compass](https://jupyterhub-team-compass.readthedocs.io/en/latest/index-team_guides.html). In fact, Jupyter's governance model will soon [require that sub-projects have their own Team Compass](https://jupyter.org/governance/software_subprojects.html?responsibilities-of-jupyter-subprojects) - -(governance:policy-decision)= -#### How to change team policy - -Take the following steps for changing any policy, strategy, or governance aspect of the Team Compass. - -1. **Open an issue** to explain the policy that you'd like to change, and why. Here is a rough template to follow: - ``` - ## Context - - provide context needed to understand this proposal. Describe the problem this proposal will solve. - - ## Proposal - - describe your proposal in informal but specific terms. - - ## Impact - - describe the implications of this proposal and the impact it will have. - ``` -2. **Discuss and incorporate feedback** with others on the team. If there are objections or suggestions, do your best to incorporate them into your proposal. -3. **Make a Pull Request** to the `Team Compass` repository (or another location if appropriate) and link it to the issue. This is the "formal change" that you wish to make. -4. **Make a decision**. Steering Council members may approve PRs to change policy. To approve a change, use the "Approve" feature in the GitHub UI. To request blocking changes, use the "Request Changes" feature in the GitHub UI[^blocking]. PRs to change organizational policy may be merged when the following conditions are met: - - Have been open for five working days - - Have `Approval` from at least **One Steering Council member** - - Have no `Request Changes` from a Steering Council member. - - If there are unresolveable objections from a Steering Council member, a decision to merge is made with a majority vote. - - If all steering council members `Approve`, it may be merged any time, overriding the requirement of being open for five working days. - - -[^blocking]: When blocking any change or objecting to a proposal, provide a rationale for what must be changed and why you believe it is critically important. _Do not disapprove because of differences in opinion. Only disapprove if you have a major strategic concern_. See [Strategies for integrating objections](https://www.sociocracyforall.org/strategies-for-integrating-objections/) for what we are aiming for. - - -### The MyST Specification - -The MyST Specification is defined at [`executablebooks/myst-spec`](https://github.com/executablebooks/myst-spec). The process for changing it is defined at [`executablebooks/myst-enhancement-proposals`](https://github.com/executablebooks/myst-enhancement-proposals). - -`executablebooks/myst-spec` is the Source of Truth for the MyST Specification. It uses a combination of documentation, examples, schemas, tests, etc to define MyST markdown in a form that others could use to implement parsers and renderers. It is versioned and includes "releases" in order to make it easy for downstream implementors to track the changes they need to make. - -```{admonition} Implementation detail -This repository will need to be modified as-needed to be the source of truth for the MyST Specification, and to have enough information to teach newcomers about its structure and function. One example for inspiration: [the Zarr specifications page](https://zarr.readthedocs.io/en/stable/spec.html). [Here's a comment with some suggestions for what is missing](https://github.com/executablebooks/meta/pull/843#issuecomment-1275474229). -``` - -The MyST Specification is changed through the MyST Enhancement Proposal process, described below. - -#### How to change the MyST specification: MyST Enhancement Proposals - -See [](meps.md). diff --git a/docs/bootstrap-governance/index.md b/docs/bootstrap-governance/index.md deleted file mode 100644 index dc0ee98..0000000 --- a/docs/bootstrap-governance/index.md +++ /dev/null @@ -1,29 +0,0 @@ -# A bootstrap decision-making process and source of truth for Executable Books - -:::{note} - -This is a proposal for bootstrapping a formal decision-making and team policy process. -It proposes a new location for organizational policy - a `team-compass`, but since this space does not currently exist, I am making this "proposal" by adding it as a PR to the `meta/` repository, which is currently our home for organizational policy. If accepted, I will remove this page and migrate content over to `compass.executablebooks.org`. - -::: - -These pages contain a bootstrap plan for encoding the Executable Books team policy and decision-making process. Its goal is to be as simple as possible and not deviate too much from our current practices (to maximize the chances of being followed). It also aims to balance "formal process" against "efficient asynchronous decision-making" (to avoid being so slow that it hinders the organization). - -It is split into a few pages to make it easier to read, review, and implement: - -```{toctree} -code-of-conduct -governance -meps -``` - -Over time, as we learn what works and what doesn't, we may make amendments to this process to make it more complex. - -## Acknowledgements - -This builds off of the work that Chris Sewell did in creating the current [MyST Enhancement Proposals repository](https://myst-enhancement-proposals.readthedocs.io/en/latest/mep-0001.html). It takes much of the process there, and tries to simplify and slim it down. It also separates out two different processes - a more complex one for MyST, and a simpler one for organizational policy. We can revisit this in the future if we believe that we _need_ more complexity in one or the other. Many thanks to Chris S (and others) for feedback and inspiration for these ideas. - - -## License - -All documentation in our Team Compass and MyST Enhancement Proposal repository are licensed under the [`CC0-1.0-Universal license`](https://creativecommons.org/publicdomain/zero/1.0/). diff --git a/docs/bootstrap-governance/meps.md b/docs/bootstrap-governance/meps.md deleted file mode 100644 index 67d5a86..0000000 --- a/docs/bootstrap-governance/meps.md +++ /dev/null @@ -1,89 +0,0 @@ -(governance:meps)= -# MyST Enhancement Proposals - -Because the MyST specification has many interior and exterior stakeholders, we use a more formal and structured process around changing the specification. -These are called **MyST Enhancement Proposals (MEPs)**. -This process is encoded in `executablebooks/myst-enhancement-proposals` and described briefly below. - -## Goals of the MEP process - -- **Formal without being oppressive**. Provide slightly more structure than our organizational policy, to account for the fact that MEPs have many more stakeholders and decision-makers. However keep it as simple as possible to avoid overly-complex discussion that leads to frustrating and inefficient decision-making. -- **Make the process inclusive**. Ensure a process for discussion and deciding that is inclusive and that encourages productive discussion from many parts of the project. -- **Make the process efficient**. Ensure that there is enough information, and with the right structure, to have focused asynchronous discussion that leads to a decision-making cadence that is sustainable for the project. -- **Design for many stakeholders**. Ensure that the specification evolves in a way that benefits our major stakeholders, and that is not unintentionally over-fit to the perspective of only a subet of the Executable Books community. - -## The MEP process - -1. **Open an issue in `myst-enhancement-proposals`** that describes the enhancement you'd like to make. The goal of the issue is to help others understand your idea and get informal alignment around it, and to decide if it is well-suited for the MEP process[^when-mep]. _MEPs should ideally have at least two, and ideally 3-4 co-authors from different organizations._ -2. **Make a proposal via a PR to `myst-enhancement-proposals`**. Use a markdown template to structure your proposal. The `status` should initially be set to `Draft`. Here's a proposed template: - - ``` - --- - mep: - id: - created: - authors: - - - status: - discussion: - --- - # - - ## Context - - <!-- provide context needed to understand this proposal. Describe the problem with MyST's current syntax or behavior. --> - - ## Proposal - - <!-- describe your proposed change to syntax in concrete terms. Include a layperson's description of this change if relevant. --> - - ## Examples - - <!-- provide examples of what this change would look like in the real world (e.g., raw MyST and rendered output). --> - - ## UX implications & migration - - <!-- describe how this would improve the UX or functionality of MyST markdown. Describe any deprecations or syntax migration steps that would be needed. --> - - ## Questions or objections - - <!-- as conversation takes place, list anything that is needed to be resolved and provide links to the conversation where this happened. --> - - ## References - - <!-- reference other examples you're using for inspiration or to help others learn and understand the proposal. --> - ``` -4. **Discuss and iterate**. Invite discussion from others in the community. Incorporate new ideas as individuals (particularly core team members) raise objections or make suggestions. - % TODO: Define guidelines for considerations to take during discussion, such as implementation feasibility. - % TODO: Define policy around what happens if an implementation _cannot_ implement something that has already been merge into the spec. - % one suggestion here: https://github.com/executablebooks/meta/pull/843#issuecomment-1274555428 -5. **Activate decision making**. Once the proposal has stabilized and the author wishes to move forward, do the following: - - In the MEP frontmatter, set the status as `Active` and add an incremental MEP number (e.g. `id: 0002`). The MEP should no-longer change substantially. - - **The Core Team** should review the MEP and approve if they wish to accept it. - - To approve, click `Approve` the GitHub Pull Request UI. - - To request blocking changes, then click `Request Changes` in the GitHub UI.[^blocking] - - A MEP may be accepted when all of the following conditions are met: - - More than five (5) weekdays have passed since the proposal was marked as `Active`. - - At least two `PR Approvals` from **core team members**. - - No `Request Changes` from a core team member. - - If the MEP is accepted: - - Update its status metadata to `Accepted` and merge the PR. - - Once a PR is merged, it closes the issue and a decision has been made. - - The changes in the MEP then become "part of the myst spec" via a Pull Request to `executablebooks/myst-spec` that anyone is welcome to implement. - - If there are unresolved objections (via `Request Changes` to the PR) - - The MEP author may restart the voting process after incorporating feedback to resolve the objection, **or** ask the Steering Council to follow the same [decision-making process used for team policy](governance:policy-decision). - - -[^when-mep]: Below is example text to provide guidance in when to use the MEP process. - - ``` - ## When should I open a MEP? - - The goal of Enhancement Proposals are to align the team on major strategic decisions about MyST Markdown, and to formally record a decision. When deciding whether to propose a MEP, consider whether the importance or complexity of the topic is worth the extra overhead of the MEP process. Ultimately, the most important thing is that we follow principles of open and inclusive discussion, iteration and collaborative writing, and making decisions explicit. - - As a guide, below are examples of topics that warrant a MEP: - - - Changing or extending the syntax or major functionality of MyST. - - Defining high-level strategy and vision for the language - - Amending the MEP process itself - ``` diff --git a/docs/communication.md b/docs/communication.md deleted file mode 100644 index ebc7543..0000000 --- a/docs/communication.md +++ /dev/null @@ -1,35 +0,0 @@ -# Communication Channels - -There are a few channels for communication depending on what you're trying to do. -Here are some of the major pieces: - -## Discussion Forum - -We have [a GitHub Discussions Forum](https://github.com/orgs/executablebooks/discussions) for all of our GitHub repositories (rather than using one forum per repository). -Our forum has general conversation about how to use our tools, free-form questions, ideas, discussions, etc. -Generally it is *not* a place for "project planning" and coordination (those are in [GitHub Issues](comms:issues)) -This is open to anybody, and is a space where people can ask questions and help one another. -Please feel free to provide support, advice, etc to anybody on this forum. - -(comms:issues)= -## GitHub Issues - -For conversations around specific actions, tasks, features, etc, we use GitHub issues in each repository. -Use these issues as a general place to understand what work is on our radar, and feel free to comment and add 👍 reactions to voice your support for certain changes. - -## Team Slack - -Our team communicates via a Slack channel at [ebp.slack.com/](https://ebp.slack.com/). -If you'd like access, please reach out to a core team member to discuss! - -## Email - -% ref: https://github.com/executablebooks/meta/discussions/412 to share password/access -We have an e-mail address at `executablebooks@gmail.com`. -All core team members should have access to this email, though it is not currently actively monitored by the team. - -## Team Meetings - -We also conduct (roughly) monthly team meetings via video chat. -Anybody is welcome to join these meetings! -For more information, see [](meetings/index.md). diff --git a/docs/conf.py b/docs/conf.py index 97e58d1..b1f83b5 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -17,7 +17,7 @@ copyright = "2020, Executable Book Project" author = "Executable Book Project" -master_doc = "index" +root_doc = "index" # -- General configuration --------------------------------------------------- @@ -53,9 +53,9 @@ # a list of builtin themes. # html_theme = "sphinx_book_theme" -html_logo = "_static/logo.svg" +html_logo = "_static/logo-wide.svg" html_favicon = "_static/logo-square.png" -html_title = "Team Documentation" +html_title = "" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, @@ -71,7 +71,7 @@ } # Intersphinx -intersphinx_mapping = {"jb": ("https://jupyterbook.org/", None)} +intersphinx_mapping = {"jb": ("https://jupyterbook.org/en/latest", None), "tc": ("https://compass.executablebooks.org/en/latest/", None)} # -- Custom scripts ---------------------------------------------------------- @@ -130,17 +130,6 @@ def update_team(app: Sphinx): (Path(app.srcdir) / "team_panels_code.txt").write_text(md) -def update_contributing(app: Sphinx): - if os.environ.get("SKIP_CONTRIBUTE", "").lower() == "true": - LOGGER.info("Skipping contributing page...") - return - LOGGER.info("Updating contributing page...") - # Grab the latest contributing docs - url_contributing = "https://raw.githubusercontent.com/executablebooks/.github/master/CONTRIBUTING.md" - resp = requests.get(url_contributing, allow_redirects=True) - (Path(app.srcdir) / "contributing.md").write_bytes(resp.content) - - def build_gallery(app: Sphinx): # Build the gallery file LOGGER.info("building gallery...") @@ -273,6 +262,5 @@ def update_feature_votes(app: Sphinx): def setup(app: Sphinx): app.add_css_file("custom.css") app.connect("builder-inited", update_team) - app.connect("builder-inited", update_contributing) app.connect("builder-inited", build_gallery) app.connect("builder-inited", update_feature_votes) diff --git a/docs/contribute.md b/docs/contribute.md new file mode 100644 index 0000000..4dde973 --- /dev/null +++ b/docs/contribute.md @@ -0,0 +1,41 @@ +# Contribute to this project + +This page contains pointers and links to help you contribute to this project. + +## Our team compass + +The {external+tc:doc}`Team Compass <index>` is a source of truth for our team structure and policy. +It also has a lot of information about how to contribute. + +## Code of conduct + +We ask any contributor to this project to [follow our Code of Conduct](tc:code-of-conduct). + +## Where we work + +We do most of our work in GitHub repositories in [the `executablebooks/` GitHub organization](https://github.com/executablebooks). + +## Contribution workflow + +Generally speaking, our contribution workflow looks someting like this: + +- **Conduct free-form conversation and brainstorming in our forum**. We have [a community forum](https://github.com/executablebooks/meta/discussions) for general discussion that does not necessarily require a change to our code or documentation. +- **Discuss and propose changes in issues**. Issues are a way for us to agree on a problem to solve, and align on a way to solve it. They should invite broad feedback and be as explicit as possible when making formal proposals. +- **Make a pull request to implement an idea**. We use Pull Requests to formally propose changes to our code or documentation. These generally point to an issue and ideally will close it. +- **Iterate on the pull request and merge**. Pull Requests should have discussion and feedback from at least one core team member, and ideally from many. Once the PR is ready to merge, a core team member may decide to do so. See [our decision-making guide for formal details](tc:governance). + +This describes the high-level process that is usually followed. +In practice, we recommend attempting a contribution to get a feel for how it works in practice. + +## How we are structured + +Our [Team page](tc:team) lists all of the teams and their members. +In addition, [our Governance page](tc:governance) describes the responsibilities and authority that team members have. + +## How we make decisions + +Our [governance page](tc:governance) describes our formal decision-making processes. + +## Development conventions + +We suggest {external+tc:doc}`some developer conventions <development/conventions>` to help team members improve their technical contributions, and to promote consistency in our workflows. diff --git a/docs/developer.md b/docs/developer.md deleted file mode 100644 index 2d13fba..0000000 --- a/docs/developer.md +++ /dev/null @@ -1,42 +0,0 @@ -# Development Tips and Tricks - -This section provides some useful tips and tricks for development of projects within the Executable Book Project ecosystem. - -## Documentation resources - -### Minifying images - -We recommend minifying images whenever adding them to documentation. -This helps keep our repository size down, as well as the page load times of our documentation. -There are many minifying services out there, but [the `squoosh.app` service](https://squoosh.app/) is a lightweight and easy-to-use option. - -## Working with Sphinx - -The [sphinx development guide](https://www.sphinx-doc.org/en/master/develop.html) is also a useful resource for understanding how `Sphinx` works. - -### Getting Access to the Sphinx Abstract Syntax Tree (AST) - -Getting access to the `xml` representation of the abstract syntax tree (AST) is a very -important step in understanding how Sphinx has organised the document. - -One way to get this information is from the `.doctree` directory contained in a project `_build` directory. - -Once you have built a sample project you can get access to the AST by loading the pickled -doctree in `python`: - -```python -import pickle -doc = pickle.load(open("_build/.doctrees/<file>", "rb")) -``` - -to get the pseudo-xml representation used for test purposes - -```python -pseudoxml = doc.pformat() -``` - -and to get a full `xml` - -```python -xml = doc.asdom().toprettyxml() -``` diff --git a/docs/feature-vote.md b/docs/feature-vote.md index dbc1894..4ab2ae4 100644 --- a/docs/feature-vote.md +++ b/docs/feature-vote.md @@ -23,7 +23,8 @@ Click the `+` to see more details. <script> $(document).ready( function () { $('table').DataTable( { - "order": [[ 0, "desc" ]] + "order": [[ 0, "desc" ]], + "pageLength": 50, }); } ); </script> diff --git a/docs/index.md b/docs/index.md index 3718abb..da9c1d9 100644 --- a/docs/index.md +++ b/docs/index.md @@ -5,80 +5,93 @@ This is the team documentation for the collaboration to build open source tools that facilitate publishing computational narratives using the Jupyter ecosystem. -We are the community behind [Jupyter Book](https://jupyterbook.org)--an open source project for building beautiful, publication-quality books and documents from computational material--as well as [MyST Markdown](https://myst-parser.readthedocs.io/en/latest/)--a rich and extensible flavor of Markdown meant for technical documentation and publishing. +We are the community behind [**Jupyter Book**](https://jupyterbook.org)--an open source project for building beautiful, publication-quality books and documents from computational material--as well as [**MyST Markdown**](https://myst.tools)--a rich and extensible flavor of Markdown meant for technical documentation and publishing. -```{toctree} -bootstrap-governance/index.md -``` - -::::{grid} 1 2 2 2 +::::{grid} 1 2 3 3 :class-container: landing-grid +:gutter: 2 :::{grid-item-card} -:padding: 2 -For contributors 👩‍💻 +:link: contribute +:link-type: doc + +Contributing Guide 🙌 ^^^ -Read our [Contributing Guide](contributing.md) to learn about the conventions we follow, and see [our community forum](https://github.com/executablebooks/meta/discussions) to ask questions and help others. +Our contributing guide has some tips and pointers to help you learn where and how to contribute to the project. ::: :::{grid-item-card} -:padding: 2 -Be inspired ✨ +:link: https://github.com/executablebooks/meta/discussions + +Community forum 💬 ^^^ -Our [Gallery of Jupyter Books](gallery.md) has contributions from across the community, and [our blog](updates.md) has updates from the community. +A place for free-form discussion, brainstorming, and asking questions about how to use the tools in this ecosystem. + ::: :::{grid-item-card} -:padding: 2 -Tools we build 👍 +:link: feature-vote +:link-type: doc + +Feature voting board 👍 ^^^ -Our [Feature Voting board](feature-vote.md) is an easy way for community members to voice support for features and enhancements. Our [Tools Page](tools.md) also lists many of the tools we build to learn more. + +A voting board to aggregate ideas across our repositories and sort them by thumbs-up responses. + ::: + :::{grid-item-card} -:padding: 2 -About the project ℹ️ +:link: tools +:link-type: doc + +Tools we build 🔧 ^^^ -Learn more about [our project's goals and strategy](about.md), see [a list of core team members](team.md), and see [our team meeting notes and calendar](meetings/index.md). + +An overview of the tools and standards that this community stewards for communicating with computational narratives. + ::: -:::: +:::{grid-item-card} +:link: about +:link-type: doc -## Acknowledgements +About the project ℹ️ +^^^ -:::{image} https://pbs.twimg.com/profile_images/1226944724365447169/MzFpwY5P_400x400.png -:class: float-left mr-2 rounded -:width: 100px +An overview of how our project is structured and organized, as well as our goals and major strategy. ::: -The Executable Books Project is supported by several institutions and members of open source projects. -In particular, many thanks to the [Sloan Foundation](https://sloan.org) which [provides support for the Executable Books Project](https://sloan.org/grant-detail/9231). +:::{grid-item-card} +:link: gallery +:link-type: doc +Gallery of books 🖼️ +^^^ +A community-maintained list of books that others have built with Jupyter Book. + +::: + +:::: -```{toctree} -:maxdepth: 2 -:caption: Get Involved -:hidden: -contributing.md -developer.md -resources.md -communication.md -meetings/index.md -``` ```{toctree} :hidden: -:caption: Our Projects and Tools +:caption: Our tools and standards +tools.md feature-vote.md gallery.md -tools.md ``` ```{toctree} -:maxdepth: 2 -:caption: About the Project +:caption: About our team :hidden: -about.md +contribute.md team.md +Team compass <https://compass.executablebooks.org> updates.md ``` + +## Acknowledgements + +See our [organizational contributions page](tc:contributions) as well as [our team members page](tc:team) for a list of individuals and organizations that have made formal contributions to this community. diff --git a/docs/meetings/2021.md b/docs/meetings/2021.md deleted file mode 100644 index a0a0e0b..0000000 --- a/docs/meetings/2021.md +++ /dev/null @@ -1,398 +0,0 @@ -# 2021 - -## Dec 1st 2021 - -### Attending - -- Aakash / Australian National University / aakashgc -- Chris H / 2i2c / choldgraf -- Rowan / Curvenote / rowanc1 -- Damián / 2i2c / damianavila -- Chris S / EPFL / chrisjsewell - -**Apologies:** - -- Matt McKay / Australian National University / mmcky (Some updates below @Aakash can speak to them if needed) - -### Team updates - - -- [sphinx-exercise] has been re-factored to make the extension more maintainable. - - https://github.com/executablebooks/sphinx-exercise/pull/37 - - no major user facing changes (except some style updates to output) - - focus: use sphinx internals and AST as much as possible - - comments: found numref integration pretty hard to get right as numref is implemented (in part) in the translator phase - - reviews: Welcome any and all comments, also would love to chat with anyone with knowledge on Sphinx references (ref and numref) - - preview: https://61a58d957549766565b7eb2a--peaceful-feynman-936ca4.netlify.app/intro.html - - todo: write developer notes and lessons learnt for a general "admonition factory" with support for: - - custom styling - - custom options - - ref and numref integration - - autonumbering of nodes (i.e. numref) -- Rowan - - Javascript PR merges in - - Low hanging fruit is done on the JS side -- Chris S - - Working on VSCode, then JupyterLab integration with the MyST JS parser -- Steve - - Thebe - underlying infrastructure and moving away from JQuery -- Damian - - Working on 2 major PRs from the PyData Sphinx Theme -- Aakash - - Hasn't had time to work on EBP stuff much - - Interested in working on JTex for single-page PDFs - -### Agenda items - -- Discuss using `jtex` to build single-page PDFs of pages - - A quick low-hanging fruit would be to improve the CSS for printing pages in the book theme. - - However this won't satisfy most needs for publishing articles etc, so that would be a good usecase for `jtex` to tackle after dealing with low-hanging fruit. - - https://github.com/executablebooks/sphinx-book-theme/issues/435 - -## October 3rd 2021 - -### Attending - -- Rowan C / Curvenote / rowanc1 -- Steve Purves / Curvenote -- Chris H / 2i2c / choldgraf -- Anton Akhmerov / TU Delft / akhmerov -- Chris S / EPFL / chrisjsewell -- John S. / ANU -- Matt M. / ANU - -### Team updates - -- Chris H - - Community strategy for the EOL on our Sloan grant: https://github.com/executablebooks/meta/issues/493 - - Focusing most of my time trying to document things + un-block people - - Have played around with Pradyun's `sphinx-basic-ng` theme and really like it -- Steve P - - Progress on thebe: - - Major styles bug fixed - - First cut of status and activate button out - - Changed the docs & examples to use latest build - Thanks to recent RTD changes - - Started a Jupyterlite example - have JupyterLiteServer running in browser - - Next Steps: - - Test & Release - - we need to get an update out, as some projects are pinning earlier releases because of that CSS bug. (will coordinate with Chris H.) - - Refactoring - - separate jquery layer from low level api (opens up more options for integration) - - document jquery and low level api - - follow through on rename - - Include Jupyterlite kernel option (and generalise) - - Tackle enhancements from Chris S. in thebe / sphinx-thebe -- Matt M - - Sphinx V4 Support in https://github.com/executablebooks/jupyter-book/pull/1448 - - Refactor of sphinx-exercise (include LaTeX support for nodes) in final testing - - Would it be useful to have a generalized function / tool to quickly create semantic admonitions that are well-structured? Common Infrastructure? Might be a good way to document admonition -> theme style relationships. - - General agreement that this would be useful :-) - - Added LaTeX support to sphinx-proof - - Example: https://jstac.github.io/continuous_time_mcs/kolmogorov_bwd.html - - Semantic Admonitions! -- Chris S - - +1 for `sphinx-basic-ng` and merging focus of themes - - Participating in https://discourse.jupyter.org/t/inline-variable-insertion-in-markdown/10525 - - Made PoC PR to nbclient and nbformat - - Participated in Jupyter Community Meeting and spoke after with Angus Goose and Tony Fast and maybe set up further talks - - But will it go stale 😬 - - Added `skip-execution` cell tag functionality in nbclient: https://github.com/jupyter/nbclient/pull/151 - - Created myst-nb documentation for sqlalchemy tutorial and fed back to thebe - - Also added merging streams in myst-nb - - Might work with them further on their documentation: https://github.com/sqlalchemy/sqlalchemy/discussions/7138 - - Working with `cpitclaudel` to add "proper" docutils support for myst-parser - - Working with `tanelli` to update markdown-it-py to latest version of markdown-it (and finally fix the more complex url parsing) - - Will also eventually get back to improving jupyter-cache (https://github.com/executablebooks/jupyter-cache/pull/74) and long awaited myst-nb "refactor" -- Rowan - - Have been working on some other open source libraries for templating and exporting to word/latex/pdf from myst. - - Need to get back to myst in js work, next week! - - As implementation starts to happen on the TS/JS/Curvenote side, then it will open opportunities to have discussions around the "core vocabulary" of MyST - what admonitions should be supported everywhere - -### Agenda items - -#### Activity board - -- switch to new GitHub project boards? Demo here: https://github.com/orgs/executablebooks/projects/9/views/1 - -#### Community proposal doc -- Issue for comments/discussion: https://github.com/executablebooks/meta/issues/493 -- Proposal text: https://hackmd.io/@choldgraf/HkgAIHtQY -- What are some major next steps? - - Investigate the major steps we'd need to take to integrate with the Jupyter community - - Sticking points? - - We'll need to demonstrate that we have a good maintainability story - - Might have questions around the different parts of EBP - - Start to get feedback in the Jupyter ecosystem - - Threads in the discourse + the governance repo - - Talk to stakeholders in that community and see if there are any things we should think about it - - Crystallize the community strategy doc into some concrete next steps - - Decide on an order of operations for things to tackle - -## September 1st 2021 - -If you are joining the team video meeting, sign in below so we know who was here. Roll call: - -- Name / Affiliation / Handle -- Steve Purves / Curvenote / stevejpurves -- Rowan Cockett / Curvenote / rowanc1 -- Matt McKay / ANU / mmcky -- Chris Holdgraf / 2i2c / choldgraf -- Damián Avila / 2i2c / damianavila -- Chris Sewell / EPFL / chrisjsewell - -### Reports, updates, and celebrations - -This is a place to make announcements (without a need for discussion), short updates about what you've been up to, and shout-outs to contributors! We'll read through these at the beginning of the meeting. - -- THEBE: - - Some Thebe PRs in recently, and refactoring work started, other PRs ongoing - - Opened(opening) tickets on activity board for dicussion - - Refactoring, improving test coverage and docs - - Extended kernel support for Juptyerlite/pyodide, local proxy and better kernel selection - -- Some blog post about MyST in my personal blog (Damián) - - [Part 1](https://damianavila.github.io/blog/posts/a-deep-dive-into-myst-part-1-the-myst-parser-python-api-usage-in-nikola.html) - - [Part 2](https://damianavila.github.io/blog/posts/a-deep-dive-into-myst-part-2-the-myst-parser-docutils-and-sphinx.html) - - Eventually, a part 3 with some coding experiment/stuff - -- Sphinx 4 Upgrade (Matt) - - myst-nb PR https://github.com/executablebooks/MyST-NB/pull/356 - - Action: Cut a new release right after merge - -- ReadTheDocs integration (Chris S) - - That is now working - - PR is open - just waiting on documenting it up - - Action: Needs Doc Update - -### Agenda items - -Let's collect all potential agenda items here before the start of the meeting. We will then attempt to create a coherent agenda that fits in the 60m meeting slot. If there are similar items try and group them together. - -- Steve: Thebe directions, and future focus - - Setup a Project board on the thebe repo to better plan out work there, in more detail that the Activity Board maybe? - - A lot of issues in the repository - - Was a JupyterCon Sprint + a board from that - - Would like to do a bit of planning about what issues etc to tackle next - - There is definitely the opportunity now to move a bit more quickly and make changes before opening up for contributions - - Priority definely to get the CSS issue fixed so jupyter-book can move to the latest - -- Rowan: Thoughts on how to move JS-Myst forward (dev branch?) - - Few-no current dependencies on the work, and could possibly merge/deploy faster than some other repos. - - Might just be an off month?! - - Is there a way that we can ensure a consistent momentum of PRs so that we don't constantly block on people's reviews etc? - - Right now we are at an important early design moment on the JS side. Longer term it should be faster as the PRs will be less complex. - - In the meantime, Chris S will prioritize his EBP stuff on making sure these PRs get reviewed. - -- Chris H: in-line markdown execution? - - Long conversation about this here: https://discourse.jupyter.org/t/inline-variable-insertion-in-markdown/10525/37 - - The difficulty is in the specification - - mmcky: Related to adding execution to exercise nodes (which we are prototyping) and working out how to get execution embedded in directives. Current approach is through gated directives (which wouldn't work obviously for roles) - - An easy first step would be to do "read only inline markdown" - - This is a really popular feature of RMarkdown / Quarto Markdown - - Can you start with the restriction "we should be able to still run every code cell" - - From a user's perspective, you'd just want them to be able to put in variables with some kind of syntax e.g. `{{ }}` - - You'd need to go through the markdown cells and look for the `{{ }}` syntax and know what kinds of variables that you need. - - You'd then do the execution, and at the end of the time that - - -# 05th August 2021 - -If you are joining the team video meeting, sign in below so we know who was here. Roll call: - -- Matthew McKay / ANU / mmcky -- Steve Purves / Curvenote / stevejpurves -- Chris Sewell -- Rowan Cockett / Curvenote / rowanc1 -- Damián Avila / 2i2c / damianavila - -## Reports, updates, and celebrations - -This is a place to make announcements (without a need for discussion), short updates about what you've been up to, and shout-outs to contributors! We'll read through these at the beginning of the meeting. - -- Chris Sewell - - Sphinx Designs - better designed panels, will come into jupyter book at some point - - Jupyter Cache (for executing notebooks --> myst-nb --> JupyterBook) - rewritten - - Decides if code cells are changed and caches outputs. Then can grab the outputs from a local database. There is a CLI! - - There is also multi-processing on the notebooks! 💥 - - There is a new PR [draft](https://github.com/executablebooks/jupyter-cache/pull/74) - - Javascript! - - Added a new repo [docutils](https://github.com/executablebooks/markdown-it-docutils) - - There are same directives and roles from Python - - Same arguments/content - - This is now over to the vscode extension - - MyST as a "standard" - - What roles, directives, blocks to we need that are copied over in another language - - We should get the critical ones in a list somewhere! - - Forming specs in a collaborative way (Identify Good Tools for this?) - -- Matt McKay: Taken over maintaining sphinx-proof and sphinx-exercise (looking into enabling execution through gated directives as a proof of concept) - - "enabling execution in directives" (https://github.com/executablebooks/sphinx-exercise/issues/24) - - Adding a directive that is a question, and then how do you add code? - - Directive at the top level and then code and exercise. - - Violates the core design of the Jupyter Notebook -- nested code cells - - Got rid of "nested" concepts - - So how do you have "Gated" directive (open/close) around a few code cells - - This is more compliant with other tools like Jupytext - - Not sure if there is a Gated directive, or prior art in the Sphinx world? - - Other options: - - Metadata? Adding tags, etc. (Similar to nbgrader notebooks) - - Glue? (currently restricted to python, cather than cellId or something) - - Similar ideas playing with at Curvenote! (copy/paste) - - Consideration is mostly from an authorship perspective - -- Steve Purves: Thebe - - got started and made some improvements to the build and docs -- yarn, CI issues, local kernel convenience commands for development - - PR for a small feature - progress indicator - - Collaborating a bit with LibreText folks, would like to more and understand how they are using Thebe better - - LibreText made a big change to utilise the @jupyterlab/manager in place of a shim+custom code -- so waiting on that PR coming in before pushing on - - Next up: - - Connecting to many different kernals, and having some basic management on that! - -- Rowan: MyST in JS - - Working on myst in JS. Migrating work over to docutils and cleaning up along the way - - Still basics of various libraries - - - 10 or so PRs up at the moment! - - Basics: - - sub/sup/abbr - - internationalization? [each role/directive has a different name] - - Can generate various dicts to export - - Admonitions - - Math - - amsmath, dollar, math directive - - Figures - - Referencing/numbering PR - - numref/eq/ref - - Working to remove all of the markdown-it-myst functionality --> docutils w/ review from ChrisS - - How are we working with styles? - - There is some copying back and forth of the .css - -- Damián - - Learning Myst internals working in the Nikola + Myst story - - Probably writing a series of blog posts to push discussion forward about things I have found and engage the community - - MyST as a “standard” > What roles, directives, blocks do we need copied over Python (independent from Docutils/Sphinx)? Do we need a docultils/sphinx free Py representation of the "standard"? - -## Agenda items - -Let's collect all potential agenda items here before the start of the meeting. We will then attempt to create a coherent agenda that fits in the 60m meeting slot. If there are similar items try and group them together. - -- NAME: ITEM (EXPECTED TIME TO DISCUSS) - -- Discuss team activity board proposal (https://github.com/executablebooks/meta/issues/441) - - The goal of this board is to coordinate and plan our major work items, to make it clear who is working on what, and to help signal boost items for review/discussion. - - Is this board structure worth trying as-is or are there major changes to make to it? - - If we want to try this process, perhaps we should use this meeting to add some initial items to the board? - -**Discussion:** -1. This was discussed with the team and we agreed to use it this month to see how it works. -2. Any suggestions to simplify or improve the Activity Board was encouraged. -3. We focused on keeping the activity board pretty high level for cross-cutting communication and to help coordinate. -4. We also discussed keeping an eye on the `Request for Review` board to get visibility on PR's that need review and get -more distributed reviews across the team. -5. We should add the Activity Board as a standing discussion point for the monthly meeting - - - Steve: Next Steps for Thebe - - Refactoring the one big file into more manageable chunks - - More tests - current test coverage is poor, PRs go green but not much really covered which is maybe worse than no tests at all - - Kernel Status & Management - as part of refactor want to make it easier to get status of the kernel and lay ground work for the issues asking for: Kernel Status, Multiple Kernels and Jupyterlite connectivity; 412, 349, 271 - -**Discussion:** -1. This was discussed in the Reports section. - -## July 1st, 2021 - -If you are joining the team video meeting, sign in below so we know who was here. Roll call: - -- Matthew McKay / Australian National University (ANU) / mmcky -- Chris Sewell / EPFL / chrisjsewell -- Steve Purves / Curvenote / stevejpurves -- John Stachurski / ANU / jstac -- Chris Holdgraf / 2i2c / choldgraf -- Damián Avila / 2i2c / damianavila -- Aakash Gude / ANU / AakashGfude - -### Reports, updates, and celebrations - -This is a place to make announcements (without a need for discussion), short updates about what you've been up to, and shout-outs to contributors! We'll read through these at the beginning of the meeting. - -#### QuantEcon / ANU - -- QuantEcon: 4/5 Projects running Jupyter Book (remaining: julia) -- ANU Team: Working on Support for Individual Page PDF (via LaTeX) generation (Lead: @mmcky) - - Chris H notes that we should include updates about QuantEcon lectures conversion etc - - @mmcky to add links to executable books gallery to QuantEcon jupyter-book powered projects - -#### Chris S. - -**Recent work** -- Released [sphinx-external-toc](https://sphinx-external-toc.readthedocs.io) and integrated in Jupyter-Book - - Removes a lot of code from jupyter-book 😄, moving towards JB just being a thin wrapper for sphinx-extensions (last part is basically the `_config.yml`) - - Bit of a balancing act between; ease of use/understandanding, having a clear schema, having all the functionality of sphinx toctrees - - Integration in JB also includes addition of "pluggable" CLI -- Released markdown-it-py v1.0, i.e. fully stable -- Released myst-parser v0.15.0, with sphinx v4 support - - Should be moving all repositories to sphinx v4 -- Released [rst-to-myst](https://github.com/executablebooks/rst-to-myst) v0.3 - - Facile conversion of RST to MyST Markdown for a whole project - - Utilises mdformat + mdformat-myst to create the Markdown from markdown-it tokens - - Still working on mdformat-myst, but this essentially allows round trips Markdown text -> markdown-it tokens -> Markdown text. Could potentially be used for e.g. modifying links in downloadable notebooks -- Created [markdown-it-plugin-template](https://github.com/executablebooks/markdown-it-plugin-template); template repository with best practices for TypeScript library - - Used this to create: [markdown-it-amsmath](https://github.com/executablebooks/markdown-it-amsmath), with demo website: <https://executablebooks.github.io/markdown-it-amsmath/> and [markdown-it-dollarmath](https://github.com/executablebooks/markdown-it-dollarmath), with demo website: <https://executablebooks.github.io/markdown-it-dollarmath/> - - Intend to make all plugins for parity with [mdit-py-plugins](https://github.com/executablebooks/mdit-py-plugins), and thus myst-parser extensions - -**Intended work** -- Update [MyST VS Code extension](https://github.com/executablebooks/myst-language-support) to use new markdown-it plugins - - Plus hopefully LSP support - - Look into recently finalised Notebook API: https://code.visualstudio.com/api/extension-guides/notebook -- Create sphinx-design: An iteration on sphinx-panels, but with the benefit of hindsight, and to more closely follow aspects of [Materials Design](https://material.io/design) and [Material-UI](https://material-ui.com/) - - class names that do not clash with sphinx ones (i.e. container) - - easier to set principle colors and width defaults -- Either in myst-parser or sphinx-design have nice way to generate stylised post-header banners, with e.g. author, date, read time (see https://github.com/executablebooks/MyST-Parser/issues/372) -- Improvements to myst-nb (+ jupyter-cache) - - Been gradually working on it, but lot of interconnected parts 😬 - - Revise the AST and transforms (post-transform -> transform) - - Drop nbconvert, jupyter-sphinx dependencies - - Better support for Markdown code output - - Better support for "multi-level" configuration (cell level > notebook level > conf.py level) - - Improve notebook execution and (maybe) drop `auto` mode in favour of `cache` - - Support for dynamic kernel names - - How to handle glue; ideally in a kernel agnostic manner, possily with the new substitution syntax - - Plugin CLI in jupyter-book for notebook execution - -#### Steve - -- Would like to: - - meet the team - - hear about thoughts on Thebelab as I'm prepping to do some work there - -#### Berkeley team - -- :wave: to Damian, onboarding etc -- Damian is playing around with the MyST parser and learning how it is structured, experimenting with a Nikola implementation of the parser. -- Chris is going to focus more of his time on team documentation, tool documentation for both users and developers, etc. - -### Agenda items - -- [sphinx-multitoc-numbering PR](https://github.com/executablebooks/jupyter-book/pull/1326) default behaviours (Lead: @mmcky) -- Workshop for Theme Specification (Prerequisites?, Preparation?, Timing?) (Lead: @mmcky) -- Any new features we should be focussing on from: https://executablebooks.org/en/latest/feature-vote.html - - One possibility: `sphinx-margin` (https://github.com/executablebooks/meta/discussions/409) - -**Didn't get to the following items** -- Bug issues in Jupyter Book: any important issues to address from: https://github.com/executablebooks/jupyter-book/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Abug -- Jupyter-book in RTD: how can we make it happen!? - - Chris H can give a short update from a conversation he had with Eric and Juan at RTD a few days ago. -- Theming: I am still keen on creating a shared infrastructure (https://github.com/executablebooks/meta/issues/279) and not necessarily being directly dependent on pydata-sphinx-theme - - Although @choldgraf mentioned about possible funding from NumFocus for pydata-sphinx-theme -- MyST as specification: what does that mean, how to "de-couple" from sphinx? - - What roles/directives/extensions are "core"? - - How to support additional roles/directives/extensions - - How does this tie in with "JavaScript" work (i.e. editor tools in VS Code, JupyterLab, etc)? - - Some notes in https://github.com/executablebooks/markdown-it-myst/blob/directives/docs/design.md - -John S: -- Hiring casual RAs? - -Chris H: -- Communicating the work we're doing - blog posts, tweets, etc? @executablebooks handle? -- Coordinating around deliverables, workstreams, requests for reviews, etc? diff --git a/docs/meetings/2022.md b/docs/meetings/2022.md deleted file mode 100644 index c1704d9..0000000 --- a/docs/meetings/2022.md +++ /dev/null @@ -1,171 +0,0 @@ -# 2022 - -## April - -### Atending - -- Matthew McKay / ANU / mmcky -- Rowan Cockett / Curvenote / rowanc1 -- Chris Sewell / EPFL / chrisjsewell -- Chris Holdgraf / 2i2c / choldgraf -- Damián Avila / 2i2c / damianavila -- Aakash Gupta / ANU / aakashgc - -### Notes - -- `myst-spec` - @fwkoch, @rowanc1, @chrisjsewell - - over the past month, we've put together a language-agnostic repo of JSON schema types for the MyST AST nodes, building on existing `mdast` types. - - github: https://github.com/executablebooks/myst-spec - - dist: https://unpkg.com/browse/myst-spec/dist/ - - This also includes test cases, similar to the commonmark spec, which may be used to validate implementations of the spec - - `mystjs`, the markdown-it javascript implementation, already consumes myst spec - - [`unified-myst`](https://github.com/executablebooks/unified-myst), the new unified ecosystem implementation, will also be "spec compliant"! - - python side hasn't been adressed quite yet. -- [Unified MyST](https://github.com/executablebooks/unified-myst) - - There are some drawbacks of markdown-it - - It doesn't have a well specified AST - - myst-spec uses `mdast`, but that's a "unified ecosystem" thing, not a markdown-it thing - - Unified ecosystem has their own parser called [micromark](https://github.com/micromark/micromark) (and that is bundled in [remark](https://remarkjs.com/)) - - The [unified-myst](https://github.com/executablebooks/unified-myst) parser uses this framework instead of markdown-it - - Q: **What's the relationship between all of these parsers?** - - MyST-js would use the unified parser - - VSCode uses markdown-it-docutils (not even mystjs) - - Unified ecosystem is well-maintained with many extensions - - Q: **how do all of these pieces fit together for the end-user experience?** - - We should have a strategy meeting about the direction of these pieces so that we can align on a path forward. - - There is not currently a "product" at the end that is driving all of this forward (from an end-user's perspective). - - Q: **This seems like a lot of stuff to maintain. How can we sustain our efforts?** - - We have a bunch of stuff we've added to grow our maintenance burden. - - Can we tie the JS myst stuff to end-users in a way that we can fund? - - General agreement that we need a better story around the strategy and maintainability of this stack. - - Product strategy meeting? - - Bring in multiple stakeholders around a "product vision / strategy" for where the ecosystem could move going forward. - - Could we bring the learnings from the JS world back into the Python world to improve Jupyter Book. -- Curvenote renderer for multiple composable "JupyterBooks" - - Hosting a conference at end of April! - - https://transform.softwareunderground.org/ -- CH: New book theme is out, will update Jupyter Book to use it soon! - -**Note: we did not get to the following topics, but there are some notes** - -- [Gated Directives (sphinx-exercise)](https://ebp-sphinx-exercise.readthedocs.io/en/latest/syntax.html#alternative-gated-syntax). There has been some comments and interest in making this syntax more general so it could be used for other directives. - - Best Strategy? As an extension? - - Mention this with work being done on `myst-spec` -- First Developer Interview: "Deep Dive into Parsing" (with Chris Sewell) - - https://github.com/executablebooks/meta/issues/672#issue-1147568262 - - cover myst-parser, markdown-it-py - - Any questions? Please add it to the issue. - - Will post a recording to share more widely. -- JupyterLab Myst Extension as you go - - Editing experience in jupyter is very critical! -- MyST Docs - - New repository? Migrate and refurbish content? - -## March - -### Attending - -- Matt McKay / Australian National University / mmcky -- Rowan Cockett / Curvenote / @rowanc1 -- Chris Sewell / EPFL / @chrisjsewell -- Franklin Koch / Curvenote / @fwkoch -- Chris Holdgraf / 2i2c / @choldgraf -- Damián Avila / 2i2c / @damianavila -- Will Lachance / Voltus / @wlach - -### Short updates - -- mystjs initial release! - - https://github.com/executablebooks/mystjs - - https://executablebooks.github.io/mystjs - - And many other PRs updates in the JS world (e.g. docutils state, packaging) -- release of myst-parser v0.17.0 (https://myst-parser.readthedocs.io/en/latest/develop/\_changelog.html), jupyter-cache v0.5.0 (https://jupyter-cache.readthedocs.io/) - - Both feed into https://github.com/executablebooks/MyST-NB/pull/380 -- soon-to-be-released sphinx-book-theme (v0.3). in pre-release now but haven't gotten any negative feedback. https://github.com/executablebooks/sphinx-book-theme/releases/tag/v0.3.0rc1 -- sphinx-togglebutton also released w/ smaller footprint: https://github.com/executablebooks/sphinx-togglebutton/releases/tag/v0.3.0 - -### Notes - -#### mystjs / myst-spec discussion (@rowanc1) - -- Functionality, demo, myst "spec", reflections and thoughts on next steps! - -- Slides: https://docs.google.com/presentation/d/1lLJUgILhBAZeLyUXucHtQGsA9OjqlSoIjop5_bFVTWg/edit - -- Questions to answer - - - Should MyST exist as a first-class project within Executable Books? - - General yes - - Where should its "project" documentation live? - - `myst.tools` ? - - `spec.myst.tools`? - - Agree to do this - - Chris H will get the domain (UPDATE: Chris got the domain, now we just need to point something to it). - - Figure out the following two later: - - `python.myst.tools` -> myst-parser docs? (maybe we rename to `myst-python`) - - `js.myst.tools` -> `mystjs` docs? - - No decisions made here, we'll get to it later. - - How do we avoid duplicating a bunch of documentation etc. - - Define the core myst spec in a single repo, along with implementation-agnostic syntax - - Unit tests of the spec - where do they live? - - Use `chrisjsewell/myst-spec` for this? - - Generally agree this is a good place to do it, need to consolidate docs somehow. - -- myst-spec: https://myst-spec.readthedocs.io - - - Did a quick demo of the spec to compare w/ mystjs - -#### myst-nb / embedding code outputs (@chrisjsewell) - -- https://github.com/executablebooks/meta/issues/681 -- https://github.com/executablebooks/MyST-NB/pull/380 is basically ready to go apart from this - - Perhaps merge, then work on this separately? - -#### Developer interviews (@mmcky) - -- I will be coordinating a series of developer interviews (recorded via Zoom) on a range of topics -- Proposal: Deep dive into Parsing: myst-parser, markdown-it-py and MyST Specification -- Developer: @chrisjsewell -- Compiling questions which I will organise into a logical interview. Please add to https://github.com/executablebooks/meta/issues/672 -- Target Date: Mid-March 2022 - -## February - -### Attending - -- Matt McKay / ANU / @mmcky -- Steve Purves / Curvenote / @stevejpurves -- Chris H / 2i2c / @choldgraf -- Franklin Koch / Curvenote / @fwkoch -- Leif Walsh / Two Sigma / @leifwalsh -- Rowan Cockett / Curvenote / @rowanc1 -- Aakash Gupta / ANU / @aakashgc - -### Reports, updates, and celebrations - -- `sphinx-exercise==0.2.1` minor release with bug fixes and style updates -- `sphinx-book-theme` refactor is ready for others to take a look: https://github.com/executablebooks/sphinx-book-theme -- Aakash got the sphinx-theme-builder working for our theme: https://github.com/executablebooks/sphinx-book-theme/pull/469 - -### Agenda items - -- \[Matt\] Planning to place an emphasis on Bug/Issue reduction for February (perhaps after the refactors for myst-parser, myst-nb) - [Issue/Bug Reduction Priorities](https://github.com/executablebooks/meta/issues/649) is an issue on the meta repo to record any issues/bugs you are: - 1. able to work on - 1. really want fixed to move something forward -- \[Matt\] Organise a session with Chris S on "The architecture of Jupyter Book" to flesh out some of the areas I am not familiar with such as: markdown-it / markdown-it-py etc. to make improvements for developer docs. - - Can you record this?! (@mmcky -- good idea) - - Three Common Ways to Extend Sphinx - - Overview of JupyterBook -- \[Steve\] Thebe next steps - driven by requirements for hookup to interactive web components - - refactor to a (Typescript) core, update current js library to use it. - - library also made available on npm. - - Issue open for discussion here https://github.com/executablebooks/thebe/issues/536 - - @mmcky If you need beta testers, we would be happy to help test on QuantEcon projects such as: https://python-programming.quantecon.org/intro.html -- \[Chris H\] Feedback on book theme structure / visuals? - - Demo: https://sphinx-book-theme--472.org.readthedocs.build/en/472/ - - General agreement that this looks a lot better than the current released version. -- \[Chris H\] Feedback on carets / toggle buttons - - Demo: https://readthedocs.org/projects/sphinx-togglebutton/builds/15966583/ - - Chevrons instead of + signs? - - Widescreen toggles - could we re-use from sphinx-design ? diff --git a/docs/meetings/index.md b/docs/meetings/index.md deleted file mode 100644 index e25c803..0000000 --- a/docs/meetings/index.md +++ /dev/null @@ -1,24 +0,0 @@ -# Team meetings - -The Executable Books team has meetings on the **first Wednesday / Thursday of the month (depending on time zone) for 1 hour**. -See the calendar below for the next team meeting. - -We use [this HackMD for an agenda](https://hackmd.io/THymMOAmSICp8rJdB6_Z1w?edit) and relevant meeting information. -If you'd like to discuss something at a meeting, add an entry in the HackMD before the meeting. - -## Meeting notes - -Below are notes from the Executable Books team meetings. - -```{toctree} -:maxdepth: 2 -2022.md -2021.md -``` - -## Team Calendar - -This calendar has dates for upcoming events in the Executable Books community. -You can [find the calendar URL here](https://calendar.google.com/calendar/embed?src=2nbh00hh9020u622nt0p5qhbek%40group.calendar.google.com&ctz=America%2FLos_Angeles). - -<iframe src="https://calendar.google.com/calendar/embed?src=2nbh00hh9020u622nt0p5qhbek%40group.calendar.google.com&ctz=America%2FLos_Angeles" style="border: 0" width="800" height="600" frameborder="0" scrolling="no"></iframe> diff --git a/docs/resources.md b/docs/resources.md deleted file mode 100644 index 94521c1..0000000 --- a/docs/resources.md +++ /dev/null @@ -1,14 +0,0 @@ -# Team Resources - -There are a few resources that the team shares to reduce redundancy, save time, and standardize our practices. -This page has a few major pieces. - -## Design Assets - -The Executable Books team uses [this Figma board](https://www.figma.com/file/ZptZUfzGznnT8GhIplnZBU/icon) to store its logo and other visual design assets. -Anybody can access these assets, though only core team members can edit them. - -## Google Drive - -We have [a shared Google Drive](https://drive.google.com/drive/folders/1lg4YpS3BpMnra4bVmkwfaTmYGYn42l3d?usp=sharing) where we store some assets like presentations and documents. -Access to this Google Drive is restricted to core team members. diff --git a/docs/team.md b/docs/team.md index d2f3985..5cd5b1f 100644 --- a/docs/team.md +++ b/docs/team.md @@ -1,12 +1,10 @@ -# List of team members +# Core team The Executable Books team is a collection of scientists, scholars, and technologists around the world. We welcome participation and contribution from the community. -If you'd like to join the team, please get in touch! +If you'd like to join the team, [check out our Team Compass](https://compass.executablebooks.org) to learn about how we work and how we're organized. -Below are the core `executablebooks` team members. - -## Team +The [Team Compass describes how this community is structured](tc:team) and who belongs to each team. Below we share our **core team members** for extra visibility. ```{include} team_panels_code.txt -``` \ No newline at end of file +``` diff --git a/requirements.txt b/requirements.txt index 2965318..7ccab21 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,8 +2,7 @@ sphinx>=4.0.0 myst-parser[linkify] myst-nb sphinx-book-theme -sphinx-panels -sphinx-design~=0.0.11 +sphinx-design ablog # For the feature voting code diff --git a/tox.ini b/tox.ini index e2c6b6a..76bab76 100644 --- a/tox.ini +++ b/tox.ini @@ -16,6 +16,7 @@ envlist = docs-live [testenv] basepython = python3 skip_install = true +passenv = TERM # To make terminal coloring / other variables pass through [testenv:docs-{update,clean}] deps = -rrequirements.txt @@ -47,6 +48,5 @@ commands = sphinx-autobuild \ --re-ignore _build/.* \ --re-ignore gallery.txt \ - --re-ignore contributing.md \ --port 0 --open-browser \ -n -b {posargs:html} docs/ docs/_build/{posargs:html} From 94bda22cecf49a4c6fdcb4fd58e4e9735c9fc5e3 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf <choldgraf@berkeley.edu> Date: Wed, 7 Dec 2022 13:58:17 +0100 Subject: [PATCH 2/2] More updates for migration --- docs/conf.py | 41 +---------------------------------------- docs/contribute.md | 2 +- docs/index.md | 12 +++++------- docs/team.md | 10 ---------- 4 files changed, 7 insertions(+), 58 deletions(-) delete mode 100644 docs/team.md diff --git a/docs/conf.py b/docs/conf.py index b1f83b5..66d28b1 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -14,7 +14,7 @@ # -- Project information ----------------------------------------------------- project = "Executable Book Project" -copyright = "2020, Executable Book Project" +copyright = "202, Executable Book Project" author = "Executable Book Project" root_doc = "index" @@ -92,44 +92,6 @@ LOGGER = logging.getLogger("conf") - -def update_team(app: Sphinx): - """Update the directive we use to build the team page with latest results.""" - if os.environ.get("SKIP_TEAM", "").lower() == "true": - LOGGER.info("Skipping team page...") - return - # Pull latest team from github - LOGGER.info("Updating team page...") - team_url = "https://api.github.com/orgs/executablebooks/members" - team = requests.get(team_url).json() - - # Generate the markdown for each member - people = [] - for person in sorted(team, key=lambda p: p.get("login", "").replace("A", "x")): - this_person = f""" - ````{{grid-item}} - ```{{image}} {person['avatar_url']} - :height: 150px - :alt: avatar - :target: {person['html_url']} - :class: sd-rounded-circle - ``` - ```` - """ - people.append(this_person) - people_md = dedent("\n".join(people)) - - # Use the grid directive to build our team and write to txt - md = f""" -`````{{grid}} 2 2 4 4 -:gutter: 1 2 2 3 - -{people_md} -````` - """ - (Path(app.srcdir) / "team_panels_code.txt").write_text(md) - - def build_gallery(app: Sphinx): # Build the gallery file LOGGER.info("building gallery...") @@ -261,6 +223,5 @@ def update_feature_votes(app: Sphinx): def setup(app: Sphinx): app.add_css_file("custom.css") - app.connect("builder-inited", update_team) app.connect("builder-inited", build_gallery) app.connect("builder-inited", update_feature_votes) diff --git a/docs/contribute.md b/docs/contribute.md index 4dde973..7773cd5 100644 --- a/docs/contribute.md +++ b/docs/contribute.md @@ -9,7 +9,7 @@ It also has a lot of information about how to contribute. ## Code of conduct -We ask any contributor to this project to [follow our Code of Conduct](tc:code-of-conduct). +We expect all contributors to this project to [follow our Code of Conduct](tc:code-of-conduct). ## Where we work diff --git a/docs/index.md b/docs/index.md index da9c1d9..706aa3f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -33,7 +33,7 @@ A place for free-form discussion, brainstorming, and asking questions about how :link: feature-vote :link-type: doc -Feature voting board 👍 +Feature voting 👍 ^^^ A voting board to aggregate ideas across our repositories and sort them by thumbs-up responses. @@ -53,13 +53,12 @@ An overview of the tools and standards that this community stewards for communic ::: :::{grid-item-card} -:link: about -:link-type: doc +:link: https://compass.executablebooks.org -About the project ℹ️ +Our team compass 🧭 ^^^ -An overview of how our project is structured and organized, as well as our goals and major strategy. +Our team policies, structure, practices, and contributing guides. ::: :::{grid-item-card} @@ -87,8 +86,7 @@ gallery.md :caption: About our team :hidden: contribute.md -team.md -Team compass <https://compass.executablebooks.org> +Team compass 🧭 <https://compass.executablebooks.org> updates.md ``` diff --git a/docs/team.md b/docs/team.md deleted file mode 100644 index 5cd5b1f..0000000 --- a/docs/team.md +++ /dev/null @@ -1,10 +0,0 @@ -# Core team - -The Executable Books team is a collection of scientists, scholars, and technologists -around the world. We welcome participation and contribution from the community. -If you'd like to join the team, [check out our Team Compass](https://compass.executablebooks.org) to learn about how we work and how we're organized. - -The [Team Compass describes how this community is structured](tc:team) and who belongs to each team. Below we share our **core team members** for extra visibility. - -```{include} team_panels_code.txt -```