Skip to content

Publishing pyfixest on conda-forge (roadmap and comments) #1243

@timmens

Description

@timmens

We publish on PyPI but not conda-forge, which is a gap for the econometrics ecosystem (see requests in previous issues like #549). Since #549 lets-plot has been made an optional dependency and the maketables package has been published on conda-forge (PR conda-forge/staged-recipes/32451), which is why we can tackle this issue now.

Publishing on conda-forge

What remains is to create a conda-forge feedstock via a submission to conda-forge/staged-recipes for pyfixest that builds the rust core using the rust compiler.

Roadmap and comments

In the current situation the pyfixest packaging requires building not only the python code but also compiling the rust kernels. An implication of this is that the rust compiler must be installed in the development environment, and working on the pure python parts of pyfixest always requires compilation of the rust kernels. It also means that even if the rust kernels stabilize, this more complex build process will remain.

One solution to this would be to split the package into a core (pyfixest-core) and a pure-python part (pyfixest). The rust kernels would live inside pyfixest-core which could also follow its own versioning cadence. pyfixest would become a pure-python package (noarch) simply depending on pyfixest-core.

I would only recommend such a split once the rust core is stable. A trigger could be once all numba kernels are ported to rust for instance.

For example, this is done by pydantic with pydantic and pydantic-core.

Open questions

  • Should we aim for such a split in the future?
  • If we aim for a split, should be publish to conda-forge before the split, or wait?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions