Skip to main content

Useful tools for Python developers

Project description

developer-tools

Useful tools for Python developers.

This is mostly an example to show how autopip can be used to install a group of apps with various version specifications, but the author does install it as it conveniently provides all the tools useful for doing Python software development.

To tell autopip to install other apps, simply add an autopip entry point group in setup.py with the list of apps and versions. Versions can be pinned to major or a specific version, or use latest to install the latest version. Update frequency can also be specified per app. See working example of autopip entry point group in developer-tools’ setup.py:

entry_points={
    'autopip': [
        'ansible = 2.5.4',                 # Pin to specific version without auto-update (recommended for 3rd party)
        'ansible-hostmanager = latest',    # Install latest and update hourly (for apps that you own)
        'awscli = 1.15 [monthly]',         # Pin to minor and update monthly
        'flake8 = 3 [weekly]',             # Pin to major and update weekly
        'twine = 1 [weekly]',
        'rstcheck = 3.0.1',
        'workspace-tools = latest',
    ],
},

For better security and user experience, it is recommended to pin to a specific version – at least minor – for 3rd party apps. For apps that you own where you have good versioning in the app, then latest works better to let the app control its own release.

Seeing is believing, so try installing it:

autopip install developer-tools

Which should output something like the following – line 3 is the interesting part:

Installing developer-tools to /home/mzheng/.apps/developer-tools/0.0.3
Hourly auto-update enabled via cron service
This app has defined "autopip" entry points to install: ansible==2.5.4 ... twine==1.* workspace-tools
Installing ansible to /home/mzheng/.apps/ansible/2.5.4
Updating script symlinks in /home/mzheng/.apps/bin
+ ansible
...
...
Installing workspace-tools to /home/mzheng/.apps/workspace-tools/3.2.4
Hourly auto-update enabled via cron service
Updating script symlinks in /home/mzheng/.apps/bin
+ wst

And everything is installed as expected:

$ autopip list
ansible              2.5.4    /home/mzheng/.apps/ansible/2.5.4
ansible-hostmanager  0.2.3    /home/mzheng/.apps/ansible-hostmanager/0.2.3  [updates hourly]
awscli               1.15.31  /home/mzheng/.apps/awscli/1.15.31             [updates monthly]
developer-tools      1.0.1    /home/mzheng/.apps/developer-tools/1.0.1      [updates hourly]
flake8               3.5.0    /home/mzheng/.apps/flake8/3.5.0               [updates weekly]
rstcheck             3.0.1    /home/mzheng/.apps/rstcheck/3.0.1
twine                1.11.0   /home/mzheng/.apps/twine/1.11.0               [updates weekly]
workspace-tools      3.2.4    /home/mzheng/.apps/workspace-tools/3.2.4      [updates hourly]

Finally, uninstall will remove them all as well – though I do recommend keeping them:

$ app uninstall developer-tools
Uninstalling developer-tools
This app has defined "autopip" entry points to uninstall: ansible ... workspace-tools
Uninstalling ansible
Uninstalling ansible-hostmanager
Uninstalling awscli
Uninstalling flake8
Uninstalling rstcheck
Uninstalling twine
Uninstalling workspace-tools

Pretty cool, huh? :)

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

developer-tools-1.0.7.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

developer_tools-1.0.7-py3-none-any.whl (3.2 kB view details)

Uploaded Python 3

File details

Details for the file developer-tools-1.0.7.tar.gz.

File metadata

File hashes

Hashes for developer-tools-1.0.7.tar.gz
Algorithm Hash digest
SHA256 de8b56afcbca9a05df3dc247cc694009a1716fd82e4105a969efd2de2e8f3749
MD5 aa0203ae3d68d582bf2980be4707cdfc
BLAKE2b-256 a3ccbe6d03079446c40eead86a010c73309f44a9581f15eae2629f9c86694e50

See more details on using hashes here.

File details

Details for the file developer_tools-1.0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for developer_tools-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 272943ccee6e4a80a314075850f875a8968d6c6bd0376ce6251cbabedc29d8ee
MD5 8c0eeaf5b66522a150e34644a46aa052
BLAKE2b-256 f8344ff2b8315a35e311b72227f04d7723b7bc137af8cb02eee452af2a806810

See more details on using hashes here.

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