Giter Club home page Giter Club logo

scikit-hep.github.io's Introduction

Scikit-HEP project website

GitHub pages for the website of the Scikit-HEP project.

It contains:

  • General info on the project.
  • Basic documentation on the Python packages.
  • Information for contributors and developers.

Developer info

To build locally, install rbenv (remember to run rbenv init after installing, and rbenv install 2.7.1). Then:

rbenv local 2.7.1
bundle install
bundle exec jekyll serve --livereload

The pages are in markdown in pages/. Images and datafiles are in assets/.

The packages are stored in yaml files in _data/. The categories.yaml file provides ordering, as well as provides titles for each category. The projects are in _data/projects/<category>/<project>.yml. Each one has a name, description, homepage url, and readme url link. They can also have docs for documentation URLs, and can have a repo url if that is different from the main url. Affiliated packages can eventually be added with affiliated: true.

The primary branch is now main.

scikit-hep.github.io's People

Contributors

alexander-held avatar amangoel185 avatar dependabot[bot] avatar eduardo-rodrigues avatar github-actions[bot] avatar graingert avatar hdembinski avatar henryiii avatar jonas-eschle avatar jpivarski avatar klieret avatar kratsg avatar kubao avatar lukasheinrich avatar marinang avatar matthewfeickert avatar pre-commit-ci[bot] avatar saransh-cpp avatar takluyver avatar troycomi avatar webknjaz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

scikit-hep.github.io's Issues

[page request] Applications Gallery

@kratsg recently broached the idea of having a way to demo some interesting public applications of the Scikit-HEP stack to potential users. For example, he recently made a Binderized GitHub Gist of Reproducible ATLAS SUSY Summary Plots which is a great example.

I had suggested that one approach might be an application gallery similar to matplotlib's. This could be a way to both demonstrate actual public uses of the Scikit-HEP stack out "in the wild" and be a handy thing to have on hand to point to in talks and demos.

I'm not sure if it would live directly on the website or somewhere adjacent.

Thoughts from @henryiii and @eduardo-rodrigues?

Style check

The style seems to be somewhat broken (mentioned in #64 ). Investigate.

Pre-commit capitalization checks

We should add caps checks to rule out PyTest, CMake, PyBind, and any other incorrect capitalizations.

Might be able to add a spelling check, too.

Use URL + /#readme for readme

We could remove the readme links and just append /#readme to the project.url if readme: is missing. It's really only used on one page that likely is not the one most people would use; the main page just has normal links. A link to the package itself should not auto-scroll the page, because users might want a variety of information from visiting a project, like the most recent download, the stars button (very important!), the clone button, the issues tab, etc. I hope everyone knows how to scroll down on GitHub (and would really like it if GitHub made the files collapsible), but I don't want to hide the important links at the top of the page, at least for the "normal" link. On the packages page, linking to the README's is fine, since it's a separate link that says README.

Originally posted by @henryiii in #99 (comment)

Reduce intro text on main page

The current intro text is quite long; if you have a smaller screen, you may not even know that there is a list of packages below, which is one of the most useful parts of the main page. I recommend shortening it quite a bit, and maybe even moving most of it to a separate "about" page. Thoughts, especially @eduardo-rodrigues ?

Add Plausible statistics-counter to all HTML pages

Stefan gave us a data-domain for scikit-hep.org; this snippet should be added to every HTML page:

<script defer data-domain="scikit-hep.org" src="https://views.scientific-python.org/js/plausible.js"></script>

It doesn't matter where on the page it appears (see a long conversation I had with myself here: scikit-hep/awkward#1819), and I think the defer could be replaced by async. You just need to find a template that gets rendered on every page you care about. (In my long conversation, I decided that I didn't care about redirects, but that's up to you.) There are templates in _includes and _layouts.


By the way—context for anyone seeing this without background—this is a follow-up of a discussion we had on the Scikit-HEP administrators list. The scientific-python.org organization is providing website statistics through Plausible, which we can use on our documentation sites. The reason we want it is to get a sense of what our users are interested in. In particular, the Awkward Array library is organized as a collection of ak.* functions, each with its own page; if we find 100× more website traffic to ak.this than ak.that, then we'll know that ak.this is more important (should get more developer attention) than ak.that. The usefulness to the scikit-hep.org pages is different: "Are users looking at 'Project News'? 'Packages'? 'User Information'? ...)

In the presentations at SciPy, they said that Plausible is less intrusive than Google Analytics (which I've used in the past). In particular, Google Analytics violates some regulations in Europe, but Plausible does not. So the choices seem to be well thought-through.

Minor organisation of site menu

At the moment the "User information" menu contains "Installing conda" and "Resources". I would argue that "Installing conda" is for the "Developers information" (not spefic to Scikit-HEP in particular) and would move the "Getting in touch" presently under menu "About" to menu "User information", which seems more natural.

Thoughts?

PEP 621 is not only for “Pure Python packaging”

This page claims

For Python packages without binary extensions and fairly simple builds can use a modern build system instead of the classic but verbose setuptools

The phrasing implies that PEP 621 is somehow incompatible with building wheels including compiled artifacts, which is wrong:

E.g. hatch supports build hooks, which allow you to run custom code just like setup.py.

[addition] List common mistakes/antipatterns

We should list a few things that you should not do, like using setup.py directly, especially not setup.py test, which is discouraged and deprecated. Maybe include common mistakes, like accidentally included the "tests" folder in the install (or maybe even the SDist).

HTTPS for scikit-hep.org

Can scikit-hep.org have HTTPS support added? It would be nice in general to have this, as this also affects all the project pages as well.

Since this is a custom domain, and not just using scikit-hep.github.io I assume it is more involved then clicking the "Enforce HTTPS" in Settings. Though, I assume that @henryiii knows how to do this, as he has HTTPS working for https://iris-hep.org/.

Add a News section to the website?

Should we maybe have a page on news as for example the scikit-learn website https://scikit-learn.org/ has? This would be a place to add major news such as the first release of a new package, a package or project joining the group, major releases that can potentially make a difference (backward incompatibilities), etc. One could also add bits of info such as what I recently mentioned on the Gitter channel, namely "A cute piece of info: Scikit-HEP made it to the PDG online particle physics information".

What do you think, @henryiii, @HDembinski, @matthewfeickert?

Differentiate between minor and major releases

In PR #193 Scikit-HEP got a news page! 🎉 At the moment all the releases are noted as "major" even if they are "minor" releases in SemVer.

Example: boost-histogram v1.0.0 and pyhf v0.6.0 are both described as "major"

**March 2021:** Major release `boost-histogram` 1.0.0 (Python 3 only),
major release `histoprint` 2.0.0 (Python 3 only).
Major metapackage release `scikit-hep` 3.0.0.
**March 2021:** Package `root_pandas` marked as deprecated.
**February 2021:** Major metapackage release `scikit-hep` 2.0.0.
**February 2021:** Major release `pyhf` 0.6.0.

Should we adopt SemVer conventions and change the SemVer minor releases to be described as "minor"?

Scikit-HEP badge for project READMEs

As first brought up in the Scikit-HEP Gitter it would be nice if we designed a Scikit-HEP badge that would link to the project webpage that all projects would have in their READMEs. As the READMEs end up getting put up on PyPI during publishing it could be a useful way to get a curious user from PyPI to the project quickly. So maybe something along the lines of

Scikit-HEP

but something more interesting.

As @henryiii did a great job with the color pallet choices for the PyPI badges

PyPI

I'm hoping that he has some thoughts on the badge design as well. 🙂

Revision of MANIFEST.in section use of prune

Given scikit-hep/pyhf#1449 and @kratsg's scikit-build Issue which motivated the PR, it seems that current use of prune in the MANIFEST.in section of the Packaging docs

prune *
graft src
graft tests

include LICENSE README.md pyproject.toml setup.py setup.cfg
global-exclude __pycache__ *.py[cod] .*

might need to get revised to something like

prune **
graft src
graft tests

include LICENSE README.md pyproject.toml setup.py setup.cfg
global-exclude __pycache__ *.py[cod]

as prune * is not actually removing all files from the manifest to start with.

If we're not missing anything we're happy to make a PR for this, but I thought we'd bring it up for discussion first.

@henryiii @eduardo-rodrigues let us know if you have any concerns here.

Add 'name-tests-test' to suggested pre-commit hooks

As we advocate for the use of pytest, the https://github.com/pre-commit/pre-commit-hooks hook name-tests-test might be a useful hook to add to the suggested hooks. Though as

Here is a minimal `.pre-commit-config.yaml` file with some handy options:
```yaml
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: "v4.2.0"
hooks:
- id: check-added-large-files
- id: check-case-conflict
- id: check-merge-conflict
- id: check-symlinks
- id: check-yaml
- id: debug-statements
- id: end-of-file-fixer
- id: mixed-line-ending
- id: requirements-txt-fixer
- id: trailing-whitespace
```

is about a minimal configuration if the idea here is to add hooks that are agnostic to most other choices then I could make a PR to https://github.com/scikit-hep/cookie instead (if people think this is a good idea in either place I'll happily make a PR to wherever).

Restructure grouping slightly

The current grouping leaves quite a few packages as single items in a group. Here's my suggested changes:

Put Simulation into Interface to HEP libraries, which would have pyhepmc, numpythia, and pyjet.

Rename Units and Constants to Math or Basics (or something like that), so Vector can be added there later.

Event Processing is a little odd with only one item in it, but I think that's okay. Will eventually have Awkward 1 and 0.

[page request] PyTest

It would be nice to have a pytest page, discussing how to do (proper) pytest, with parametrized fixtures and such.

Website link

Please fill in the GitHub webpage link (top right) with scikit-hep.github.io, so that someone finding the repository can click to switch to the webpage.

Dark mode

With Github now supporting Dark mode, and iscinumpy & iris-hep supporting it since launch, now Scikit-HEP is the main offender for shining a white screen in my face at night. Needs a dark mode. ;)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.