Author Topic: Adding pypinproc (& libpinproc binaries) to PyPI?  (Read 897 times)

Brian Madden

  • Wizard
  • *****
  • Posts: 498
  • Mission Pinball
    • View Profile
    • Mission Pinball
Adding pypinproc (& libpinproc binaries) to PyPI?
« on: December 23, 2015, 12:07:45 PM »
Hi Everyone,

I'd like to add pypinproc to PyPI so it can be installed via pip, e.g. "pip install pypinproc." I want to add our fork of pypinproc since it's been modified to work with versions of Python from 2.6 - 3.x.

I'm also planning to build Python wheels (kind of like Python Eggs, except they contain compiled binary code). Wheels are created for each platform/Python version combo and the proper one is automatically selected at run time by either pip or the wheel installer. (Essentially with wheels it just copies over some DLLs or SOs instead of building & compiling stuff.)

Doing this would mean that to get a P-ROC/P3-ROC working with a new computer, you'd just need to install the FTDI driver for your platform, install Python, and then run "pip install pypinproc" and that's it. It will work with Linux, Mac, and Windows, 32-bit and 64-bit, and Python 2.6, 2.7, and 3+. (We have all the binaries for pypinproc for these various combos now.. it's just that they're in our hand-written installer. Switching over to wheels in PyPI basically means that we're leveraging that installer framework instead of rolling our own scripts.)

Of course there are many options for installing the libraries that the P-ROC needs. This is just another option to add to the list.

The reason for my post is to see if anyone objects to me creating the package for pypinproc in PyPI? I assume this is ok since PyPI's been around for years and no one has added pypinproc yet, but I just wanted to make sure that's cool with everyone here?

All the work we're doing is in our fork, and then when we're done we'll create a PR back to the original repo on preble if there's interest from Adam and/or Gerry.

The Mission Pinball Framework (MPF) Project*
* Disclaimer: MPF is a work-in-progress!