BSD 2-Clause "Simplified" License

项目介绍

hypothesis/h 是一个托管在 GitHub 上的开源项目,主要使用 Python 编写,采用 BSD 2-Clause "Simplified" License 许可证,目前获得 3.2k 个 Star、457 次 Fork。

仓库全名
hypothesis/h
开源许可证
BSD 2-Clause "Simplified" License
Star 数
3.2k
Fork 数
457
未关闭 Issue
191

README 摘要

h h is the web app that serves most of the https://hypothes.is/ website, including the web annotations API at https://hypothes.is/api/. The Hypothesis client is a browser-based annotator that is a client for h's API. Community Join us on Slack (request an invite or log in once you've created an account). If you'd like to contribute to the project, you should also subscribe to the development mailing list and read…

完整内容见 GitHub 原始 README 或本页 。

常见问题

h 用什么语言开发?

主要使用 Python 编写,采用 BSD 2-Clause "Simplified" License 许可证,目前有 3.2k 个 Star。

h 可以免费商用吗?

仓库采用 BSD 2-Clause "Simplified" License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 h 的源码?

可以直接克隆仓库:git clone https://github.com/hypothesis/h.git,默认分支为 main;安装与运行步骤见仓库 README。

h 最近还在维护吗?

仓库最近一次更新为 1 天前,当前有 191 个未关闭 Issue;Star 数为 3.2k,可作为社区活跃度的参考。

简要分析

热度分
4185
价值分
2049
活跃状态
活跃

语言占比

CSS
Dockerfile
JavaScript
Jinja
Makefile
Mako
PLpgSQL
Python
SCSS
Shell
TypeScript

Release

README

h

h is the web app that serves most of the https://hypothes.is/ website, including the web annotations API at https://hypothes.is/api/. The Hypothesis client is a browser-based annotator that is a client for h’s API.

Community

Join us on Slack (request an invite or log in once you’ve created an account).

If you’d like to contribute to the project, you should also subscribe to the development mailing list and read our Contributor’s guide. Then consider getting started on one of the issues that are ready for work.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Setting up Your h Development Environment

First you’ll need to install:

  • Git. On Ubuntu: sudo apt install git, on macOS: brew install git.
  • GNU Make. This is probably already installed, run make --version to check.
  • pyenv. Follow the instructions in pyenv’s README to install it. The Homebrew method works best on macOS. The Basic GitHub Checkout method works best on Ubuntu. You don’t need to set up pyenv’s shell integration (“shims”), you can use pyenv without shims.
  • Docker Desktop. On Ubuntu follow Install on Ubuntu. On macOS follow Install on Mac.
  • Node and npm. On Ubuntu: sudo snap install --classic node. On macOS: brew install node.
  • Yarn: sudo npm install -g yarn.

Then to set up your development environment:

git clone https://github.com/hypothesis/h.git
cd h
make services
make devdata
make help

See the Contributor’s guide for further instructions on setting up a development environment and contributing to h.

Changing the Project’s Python Version

To change what version of Python the project uses:

  1. Change the Python version in the cookiecutter.json file. For example:

    "python_version": "3.10.4",
    
  2. Re-run the cookiecutter template:

    make template
    
  3. Re-compile the requirements/*.txt files. This is necessary because the same requirements/*.in file can compile to different requirements/*.txt files in different versions of Python:

    make requirements
    
  4. Commit everything to git and send a pull request

Changing the Project’s Python Dependencies

To Add a New Dependency

Add the package to the appropriate requirements/*.in file(s) and then run:

make requirements

To Remove a Dependency

Remove the package from the appropriate requirements/*.in file(s) and then run:

make requirements

To Upgrade or Downgrade a Dependency

We rely on Dependabot to keep all our dependencies up to date by sending automated pull requests to all our repos. But if you need to upgrade or downgrade a package manually you can do that locally.

To upgrade a package to the latest version in all requirements/*.txt files:

make requirements --always-make args='--upgrade-package <FOO>'

To upgrade or downgrade a package to a specific version:

make requirements --always-make args='--upgrade-package <FOO>==<X.Y.Z>'

To upgrade all packages to their latest versions:

make requirements --always-make args=--upgrade

评论

暂无评论