diff --git a/setup.py b/setup.py index 838906a0..b967317d 100755 --- a/setup.py +++ b/setup.py @@ -29,7 +29,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - +import sys from setuptools import setup from distutils.version import LooseVersion from setuptools import __version__ as setuptools_version @@ -38,12 +38,29 @@ if LooseVersion(setuptools_version).version[0] < 12: setuptools_scm += '<2.0' -setup( - name='pyusb', - use_scm_version={ + +def pyusb_scm_version(): + """append '-editable' to version for editable installs""" + from setuptools_scm.version import get_local_node_and_date + + def editable_local_scheme(version): + local_scheme = get_local_node_and_date(version) + # distutils scans sys.argv for matching command classes + # (see `distutils.dist.Distribution._parse_command_opts`) + if "develop" in sys.argv[1:]: + return local_scheme + "-editable" + return local_scheme + + return { "version_scheme": "post-release", + "local_scheme": editable_local_scheme, "write_to": "usb/_version.py", - }, + } + + +setup( + name='pyusb', + use_scm_version=pyusb_scm_version, setup_requires=setuptools_scm, description='Python USB access module', author='Robert Wlodarczyk',