mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2024-11-26 22:50:40 +00:00
Page:
Releasing
Pages
Adding Tests
Adding a new language construct ‐ Python 3.6 Formatted String Literals
Adding a tree transformation phase to uncompyle6
Code problems
Custom Rules for Variable length Arguments
Debugging Optimized Code
Deparsing Paper
Deparsing technology and its use in exact location reporting
Equivalent code
Fixing Issue #150
Fixing Issue #151
Fixing Issue #283
Fixing Issue #293 (Python 3.8 grammar problem)
Home
How does this code work?
Operator Precedence
Project Focus
Releasing
TODO
Table‐driven AST‐to‐Python Translation
The Control Flow Mess
Tips for creating bytecode to foil uncompyle6
What's up?
Why was this project so hard to work on, learn, and maintain?
expected decompile differences
pycdc compared with uncompyle6
11
Releasing
rocky edited this page 2024-03-16 05:08:04 -04:00
Table of Contents
- Get latest sources:
- Change version in uncompyle6/version.py:
- Update ChangeLog:
- Update NEWS.md from ChangeLog. Then:
- Make sure pyenv is running and check newer versions
- Python 3.3 to 3.5
- Python 3.0 to 3.2
- Python 2.4 to 2.7
- Make packages and check
- Check package on github
- Release on Github
- Pull tags:
- Upload to PyPI
- Move dist files to uploaded
- Bump version to dev
Table of Contents
- Get latest sources:
- Change version in uncompyle6/version.py:
- Update ChangeLog:
- Update NEWS.md from ChangeLog. Then:
- Make sure pyenv is running and check newer versions
- Python 3.3 to 3.5
- Python 3.0 to 3.2
- Python 2.4 to 2.7
- Make packages and check
- Check package on github
- Release on Github
- Pull tags:
- Upload to PyPI
- Move dist files to uploaded
- Bump version to dev
Get latest sources:
git pull
Change version in uncompyle6/version.py:
$ emacs uncompyle6/version.py
$ source uncompyle6/version.py
$ echo $__version__
$ git commit -m"Get ready for release $__version__" .
Update ChangeLog:
$ make ChangeLog
Update NEWS.md from ChangeLog. Then:
$ emacs NEWS.md
$ make check
$ git commit --amend .
$ git push origin HEAD # get CI testing going early
Make sure pyenv is running and check newer versions
$ admin-tools/check-newest-versions.sh
Python 3.3 to 3.5
$ ./admin-tools/merge-for-3.3.sh
$ git commit .
$ make check
$ ./admin-tools/check-3.3-3.5-versions.sh
$ git push origin HEAD
Python 3.0 to 3.2
$ ./admin-tools/merge-for-3.0.sh
$ git commit .
$ make check
$ ./admin-tools/check-3.3-3.5-versions.sh
$ git push origin HEAD
Python 2.4 to 2.7
$ ./admin-tools/merge-for-2.4.sh
$ make check
$ . ./admin-tools/check-2.4-2.7-versions.sh
$ git push origin HEAD
Make packages and check
$ ./admin-tools/make-dist-2.4-2.7.sh
$ pyenv local 3.9
$ twine check dist/uncompyle6-$__version__*
$ git tag release-python-2.4-$__version__
$ ./admin-tools/make-dist-3.0-3.2.sh
$ git tag release-python-3.0-$__version__
$ ./admin-tools/make-dist-3.3-3.5.sh
$ git tag release-python-3.3-$__version__
$ ./admin-tools/make-dist-newest.sh
$ twine check dist/uncompyle6-$__version__*
Check package on github
$ pushd /tmp/gittest
$ pip install -e git+https://github.com/rocky/python-uncompyle6.git#egg=uncompyle6
$ uncompyle6 --version
$ uncompyle6 src/uncompyle6/__pycache__/__pkginfo__.cpython-38.pyc
$ pip uninstall uncompyle6
$ popd
Release on Github
Goto https://github.com/rocky/python-uncompyle6/releases/new
Now check the tagged release. (Checking the untagged release was previously done).
Todo: turn this into a script in admin-tools
$ pushd /tmp/gittest
$ pip install -e git+https://github.com/rocky/python-uncompyle6.git@$__version__#egg=uncompyle6
$ uncompyle6 --version
$ uncompyle6 src/uncompyle6/__pycache__/__pkginfo__.cpython-38.pyc
$ pip uninstall uncompyle6
$ popd
Pull tags:
$ git pull --tags
Upload to PyPI
$ twine upload dist/uncompyle6-${__version__}*
Check on https://pypi.org/project/uncompyle6/
Move dist files to uploaded
$ mv -v dist/uncompyle6-${__version__}* dist/uploaded
Bump version to dev
In uncompyle6/version.py
bump number and add .dev0
.