All Projects → vemel → Mypy_boto3_builder

vemel / Mypy_boto3_builder

Licence: mit
Type annotations builder for boto3 compatible with VSCode, PyCharm, Emacs, Sublime Text, pyright and mypy.

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Mypy boto3 builder

Live Py Plugin
Live coding in Python with PyCharm, Emacs, Sublime Text, or even a browser
Stars: ✭ 222 (+80.49%)
Mutual labels:  pycharm, emacs, sublime-text
Cmake Ide
Use Emacs as a C/C++ IDE
Stars: ✭ 661 (+437.4%)
Mutual labels:  emacs, autocomplete
Kotlin Language Server
Intelligent Kotlin support for any editor/IDE using the Language Server Protocol
Stars: ✭ 650 (+428.46%)
Mutual labels:  vscode, autocomplete
Vscode Laravel Extra Intellisense
This extension adds extra autocompletion for laravel projects to VSCode.
Stars: ✭ 909 (+639.02%)
Mutual labels:  vscode, autocomplete
Import Js
A tool to simplify importing JS modules
Stars: ✭ 511 (+315.45%)
Mutual labels:  vscode, emacs
Sublimecodeintel
💡 Full-featured code intelligence and smart autocomplete for Sublime Text
Stars: ✭ 5,050 (+4005.69%)
Mutual labels:  sublime-text, autocomplete
Sublimeallautocomplete
Extend Sublime autocompletion to find matches in all open files of the current window
Stars: ✭ 906 (+636.59%)
Mutual labels:  sublime-text, autocomplete
Graphql For Vscode
GraphQL syntax highlighting, linting, auto-complete, and more!
Stars: ✭ 265 (+115.45%)
Mutual labels:  vscode, autocomplete
Vhdl Mode
A package for Sublime Text that aids coding in the VHDL language.
Stars: ✭ 31 (-74.8%)
Mutual labels:  emacs, sublime-text
Vscode Org Mode
Emacs Org Mode for Visual Studio Code
Stars: ✭ 1,096 (+791.06%)
Mutual labels:  vscode, emacs
Dotfiles
What tools and plugins I use for web development?
Stars: ✭ 73 (-40.65%)
Mutual labels:  vscode, sublime-text
Themer
themer is inspired by trevordmiller/nova and chriskempson/base16.
Stars: ✭ 4,483 (+3544.72%)
Mutual labels:  vscode, sublime-text
Themer Gui
A graphical UI for themer. Replaced by Progressive Web App at https://themer.dev.
Stars: ✭ 337 (+173.98%)
Mutual labels:  vscode, sublime-text
Javascriptenhancements
JavaScript Enhancements is a plugin for Sublime Text 3. It offers not only a smart javascript autocomplete but also a lot of features about creating, developing and managing javascript projects (real-time errors, code refactoring, etc.).
Stars: ✭ 592 (+381.3%)
Mutual labels:  sublime-text, autocomplete
Picocli
Picocli is a modern framework for building powerful, user-friendly, GraalVM-enabled command line apps with ease. It supports colors, autocompletion, subcommands, and more. In 1 source file so apps can include as source & avoid adding a dependency. Written in Java, usable from Groovy, Kotlin, Scala, etc.
Stars: ✭ 3,286 (+2571.54%)
Mutual labels:  annotations, autocomplete
Tabnine Vscode
Visual Studio Code client for TabNine. https://marketplace.visualstudio.com/items?itemName=TabNine.tabnine-vscode
Stars: ✭ 770 (+526.02%)
Mutual labels:  vscode, autocomplete
Marginalia
📜 marginalia.el - Marginalia in the minibuffer
Stars: ✭ 111 (-9.76%)
Mutual labels:  annotations, emacs
sublime-PICO-8
PICO-8 plugin for the Sublime Text 3 editor.
Stars: ✭ 42 (-65.85%)
Mutual labels:  autocomplete, sublime-text
anaconda go
AnacondaGO adds autocompletion, linting and IDE features for Golang to your Sublime Text 3
Stars: ✭ 39 (-68.29%)
Mutual labels:  autocomplete, sublime-text
Vscode Material Theme
Port of the sublime text Material theme for Visual Studio Code in light and dark.
Stars: ✭ 21 (-82.93%)
Mutual labels:  vscode, sublime-text

mypy_boto3_builder

PyPI - mypy-boto3-builder PyPI - boto3-stubs PyPI - boto3

Docs Docs Docs

PyPI - Python Version Coverage PyPI - Downloads

boto3.typed

Type annotations builder for boto3-stubs project. Compatible with VSCode, PyCharm, Emacs, Sublime Text, mypy, pyright and other tools.

See how it helps to find and fix potential bugs:

boto3-stubs demo

Using boto3-stubs

Check boto3-stubs project for installation and usage instructions.

If you use up-to-date boto3 version, just install corresponding boto3-stubs and start using code auto-complete and mypy validation. You can find instructions on boto3-stubs page.

This page is only for building type annotations manually. For example, if you want to use the latest features for an older boto3 version.

How to build type annotations

Locally

# Install preferred version of `boto3`
python -m pip install boto3==1.16.25 botocore==1.19.25

# Install `mypy-boto3-builder`
python -m pip install mypy-boto3-builder

# Build all packages in mypy_boto3_output directory
python -m mypy_boto3_builder mypy_boto3_output

# Or specify required services explicitly
python -m mypy_boto3_builder mypy_boto3_output -s ec2 s3

# Install custom `boto3-stubs` packages
cd mypy_boto3_output
pip install mypy_boto3_ec2_package
pip install mypy_boto3_s3_package
pip install boto3_stubs_package

With Docker image

  • Install Docker
  • Pull latest mypy_boto3_builder version and tag it
docker pull docker.pkg.github.com/vemel/mypy_boto3_builder/mypy_boto3_builder_stable:latest
docker tag docker.pkg.github.com/vemel/mypy_boto3_builder/mypy_boto3_builder_stable:latest mypy_boto3_builder
  • Generate stubs in output directory
mkdir output

# generate stubs for all services
docker run -v `pwd`/output:/output -ti mypy_boto3_builder

# generate stubs for s3 service
docker run -v `pwd`/output:/output -ti mypy_boto3_builder -s s3

# generate stubs for a specific boto3 version
docker run -e BOTO3_VERSION=1.16.25 BOTOCORE_VERSION=1.19.25 -v `pwd`/output:/output -ti mypy_boto3_builder
  • Install packages from output directory as described above

Known issues

PyCharm consumes too much CPU

PyCharm does not handle Literal overloads properly, so the only way to reduce CPU usage is to generate overloads only for services you use

# got to your project folder, activate venv

# install boto3-stubs as usual with services you need
pip install 'boto3-stubs[s3,ec2]'

# install mypy_boto3_builder
pip install mypy_boto3_builder

# generate boto3 stubs only with services in use, s3 and ec2 in this case
# stubs should be generated in <project_root>/typings/boto3
python -m mypy_boto3_builder --installed --skip-services typings -d -s s3 ec2

Add <project_root>/typings folder to your Interpreter Paths

Autocomplete should work now and do not stress your CPU. Still, try to avoid generation for 6 or more services, as it is still stressful for PyCharm. In this case, generate boto3-stubs for a couple of services and use explicit type annotations for the rest.

Since stubs are stored in your project root, you do not need to re-generate them after update.

Versioning

mypy_boto3_builder version is not related to boto3 version and follows PEP 440.

Latest changes

Full changelog can be found in Releases.

Thank you

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].