On Sat, Oct 20, 2018 at 6:12 AM danielle amethyst brake <
danielleamethystbr...@gmail.com> wrote:

> If you are mainly working with Python, i.e. if your C++ code is only used
>> in extension modules, you may consider using Anaconda, which provides some
>> structure in its package management that could help you and your users.
>>
>>
> My library is not used only in extension modules; there is a whole general
> purpose C++ library my bindings are built against.  So I feel like latching
> into Anaconda is a bit scary.  Can you tell me anything more about the
> Anaconda ecosystem?  Are there existing Boost.Python binding sets that are
> distributed in this model?
>
> I feel like my best options right now are using package managers like
> homebrew, apt, etc to help distribute.  Is this possibly the best way?
> What are others doing for their Boost.Python generated bindings?  Is there
> a list of notable libraries that use Boost.Python, so that I can
> investigate directly their distribution models?
>

Hi Danielle,

I second Stefan’s recommendation, but would like to point out the
distinction between conda the package manager (aka miniconda) and Anaconda
the distribution. Conda the package manager, when used with conda-forge the
community package collection, is the closest thing we have to a good,
lightweight, cross-platform scientific package distribution system we have
at the moment. While conda is written in Python, it is quite good at
describing and resolving the dependencies of arbitrary libraries. When I’ve
had to distribute compiled libraries (or anything else with a nontrivial
dependency tree) for multiple platforms beyond a narrow circle of
collaborators who can be expected to build from source, this has been my
go-to solution.

Platform specific package managers like Homebrew and apt are also an option
(I do quite like Homebrew, for the record), but then you’re stuck
maintaining at least two parallel package systems. With conda you still
have to build separate packages for Linux, OSX, and Windows (or add your
package to conda-forge and have their CI do it for you), but they can share
a recipe.

Cheers,
Jakob

>
_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
https://mail.python.org/mailman/listinfo/cplusplus-sig

Reply via email to