AexPy /eɪkspaɪ/ is an Api EXplorer in PYthon for detecting API breaking changes in Python packages.
Project description
AexPy
AexPy /eɪkspaɪ/ is an Api EXplorer in PYthon for detecting API breaking changes in Python packages.
AexPy is the prototype implementation of the conference paper "AexPy: Detecting API Breaking Changes in Python Packages" in the 33rd IEEE International Symposium on Software Reliability Engineering (ISSRE 2022).
If you use our approach or results in your work, please cite it according to the citation file.
- Approach Design & Paper are in AexPy's conference paper.
- Main Repository & Implemetation are in AexPy's repository.
- Documents & Data are in AexPy's website.
Install
We recommend using our Docker image for running AexPy. Other distributions may suffer from environment errors.
docker pull stardustdl/aexpy:latest
Usage
Front-end
AexPy provides a convenient frontend for exploring APIs and changes.
docker run -p 8008:8008 stardustdl/aexpy:latest serve
Command-line
Use the following command to detect changes between v1.0 and v2.0 of a package named demo:
docker run stardustdl/aexpy:latest report demo@1.0:2.0
# e.g. detect API changes between jinja2 v3.1.1 and v3.1.2
docker run stardustdl/aexpy:latest report jinja2@3.1.1:3.1.2
Use the following command to extract API information of v1.0 of a package named demo:
docker run stardustdl/aexpy:latest extract demo@1.0
# e.g. extract APIs from click v8.1.3
docker run stardustdl/aexpy:latest extract click@8.1.3
For all available commands, use the following command:
docker run stardustdl/aexpy:latest --help
Advanced Tools
Stages
AexPy has five stages as follows, use the corresponding command to run the corresponding stage.
aexpy preprocess coxbuild@0.0.1
aexpy extract coxbuild@0.0.1
aexpy diff coxbuild@0.0.1:0.0.2
aexpy evaluate coxbuild@0.0.1:0.0.2
aexpy report coxbuild@0.0.1:0.0.2
Batching
AexPy supports processing all available versions of a package in batch.
aexpy batch coxbuild
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.