Source for packages that the cpython build process depends on
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Source for packages that the CPython build process depends on.

It is currently expected that this will only be useful on Windows, and in any case you should never need to clone this repository unless you are updating its contents.

Updating Source Dependencies

The procedure for updating the different source dependencies are similar. Below is an example for updating SQLite:

  1. Fork and clone this repository.

  2. Checkout a new branch off the sqlite branch. Assuming this repo is set as your upstream:

    git checkout -b <branch-name>-sqlite upstream/sqlite
  3. Download SQLite source from

  4. Unzip it to the branch checked out in step 2.

  5. Commit and push the changes.

  6. Create the PR, with sqlite as the base branch.

Once the PR has been merged, tag the commit as sqlite-<full version to be used in CPython's PCbuild/get_externals.bat>.

For updating sqlite, bzip2, xz, and zlib, follow the above instructions.

For tcl and tk, after step 5, cpython-bin-deps needs to be updated. Note though that tcl85 and tk85 are specific to 2.7 and don't require anything extra.

For openssl, step 5 will be more complicated :)

Download links

Tagging the commit

Using the sqlite branch as an example:

git checkout -b sqlite-tag upstream/sqlite
git tag sqlite-  # replace with the correct version.
git push --tags upstream