How to create a stub Python package for PyCharm?

Question:

Let’s say we have a builtin module car.

We have no autocomplete in PyCharm for it.

It has interface:

def getState(id, optional_id = None):
    pass

def log(value):
    pass

So, end usage would be:

import car


car.getState(5)
car.log('Test')

How to create a package and join it into PyCharm to make autocomplete work for a described interface?

If I created a package car-stub with car.py file, and installed it in the project, I will have to use code line from car-stub import car.

But how to make it in such a way it would not require code changes?
The system would provide autocomplete for import car.

Asked By: Kirby

||

Answers:

Figured this out. You need to create a stub package with methods (at least this solution working).

Create the following structure for your package:

/car-stabs
  __init__.py
setup.py

Where car is your package name to stub (the problem might be in naming if such package does exist).

__init__.py shall contain target interface methods.

def getState(id, optional_id = ...): ...

def log(value): ...

(Or use "pass" like in the question for Python lower v3.5)

Now push the package normally to PyPi, and import it in your project and/or share with somebody who need it. =)

Answered By: Kirby
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.