Giter VIP home page Giter VIP logo

Comments (3)

mristin avatar mristin commented on August 17, 2024

P.S. since you have more experience with building the wheels, what is the exact command that you execute when building & packaging? (We usually distribute the source distributions; Dominik Walder worked on EAST detector during his internship.)

from lanms.

safijari avatar safijari commented on August 17, 2024

Hey @mristin. My personal workflow around versions and releasing is keeping these things manual, either using git tags or github's releases thing. I guess git tags can still collide but I usually work with a small team where we can coordinate.

For wheels the base command is python setup.py bdist_wheel but when you're releasing something like lanms you need to maintain binary compatibility and packaging needs to happen separately for each python version. To achieve this I try to follow the manylinux1 approach which involves building the wheels in CentOS 5 (they're moving to 6 now) and then using auditwheel which in turn uses patchelf to make a self contained wheel (a.la opencv or numpy). the package cibuildwheel can automate most of this in CI and works well with both appveyor and travis.

This is an example of it being used with appveyor https://github.com/safijari/apriltags2_ethz/
This one does travis https://github.com/safijari/open_karto
Both use a custom container for building that's defined here https://github.com/safijari/manylinux-x64 (it has boost, eigen, and opencv preinstalled).

Hope that gives some clarity. I'll try to work on this and the other issue over the weekend.

from lanms.

mristin avatar mristin commented on August 17, 2024

Hi @safijari ,
Let's go with travis since we already use it for other open source projects. Other than that, I think you are more experienced in these regards, so please go ahead and let me just double-check the pull requests before merging them. Thanks again for all the contributions!

from lanms.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.