Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
__pycache__ | 2023-09-02 | ||
__init__.py | 2023-08-28 | 650 Bytes | |
genshi.py | 2023-08-28 | 1.7 kB | |
sax.py | 2023-08-28 | 1.8 kB | |
Totals: 4 Items | 4.1 kB | 0 |
Vendored library policy
To simplify Bleach development, we're now vendoring certain libraries that we use.
Vendored libraries must follow these rules:
- Vendored libraries must be pure Python--no compiling.
- Source code for the libary is included in this directory.
- License must be included in this repo and in the Bleach distribution.
- Requirements of the library become requirements of Bleach.
- No modifications to the library may be made.
Adding/Updating a vendored library
Way to vendor a library or update a version:
- Update vendor.txt with the library, version, and hash. You can use hashin.
- Remove all old files and directories of the old version.
- Run pip_install_vendor.sh and check everything it produced in including the .dist-info directory and contents.
- Update the bleach minor version in the next release.
Reviewing a change involving a vendored library
Way to verify a vendored library addition/update:
- Pull down the branch.
- Delete all the old files and directories of the old version.
- Run pip_install_vendor.sh.
- Run git diff and verify there are no changes.
NB: the current vendor.txt was generated with pip 20.2.3, which might be necessary to reproduce the dist-info
Removing/Unvendoring a vendored library
A vendored library might be removed for any of the following reasons:
- it violates the vendoring policy (e.g. an incompatible license change)
- a suitable replacement is found
- bleach has the resources to test and QA new bleach releases against multiple versions of the previously vendored library
To unvendor a library:
- Remove the library and its hashes from vendor.txt.
- Remove library files and directories from this directory.
- Run install_vendor.sh and check the previously vendored library including the .dist-info directory and contents is not installed.
- Update the bleach minor version in the next release.