Skip to main content

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.

https://user-images.githubusercontent.com/34736356/182772349-af0a5f20-d009-4daa-b4a9-593922ed66fe.mov

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aexpy-0.1.0.tar.gz (604.2 kB view hashes)

Uploaded Source

Built Distribution

aexpy-0.1.0-py3-none-any.whl (98.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page