Skip to content

Comment on The Flox Open Beta

Comments

This looks pretty interesting. I'm a lead software eng at a startup that is onboarding N number data analysts/engineers and on the face of it this seems like it'd be a great utility to help tame the craziness of python for them.

I think you are right. Plus it's a great way to integrate needed dependencies in other languages, and pin them to the exact version you need. When you need to deploy, you can actually use flox on the production machine, and "flox install", or you can load the flox package into a docker container image and deploy that way too. I developed a Django app for about 2 months with flox, which included postgresql,redis, and several python3 pypi package deps. It was one of the best and most coherent experiences I have had. I also used nix (which flox is based on) to do elixir and phoenix development for several years. flox has taken away many of the pain points (disclaimer, I am employed at flox)>

Oh interesting... yeah this is exactly what i'm looking to do, well Flask not Django but basically the same thing. Question, were you using pycharm at all? Did you have a good method on having that run a file from within a flox env?

The simplest way to get started is to choose the python dependency manager of your choice (could be pip, poetry, etc). You can install this with flox, and then `flox develop` and these dependencies will just be available on your path. You can then launch pycharm from this context, check "which python" in the shell where you ran `flox develop` and add that to your python evaluator in your IDE.

There are more advanced methods to work with python (that will also still work with pycharm, vscode etc) that are discussed in our docs.

Do you think it would be beneficial if we created some guides to configuring common IDE to work with flox environments?

Ah that all makes sense. Also a bit of a d'oh about the which python.

I definitely do think it'd be useful to just have a quick path to using this with a variety of different IDE types.

Thank you.

Would you be willing to give us a challenge in a form of example environment that your data analysts/engineers would use with only a `flox pull`?

Sure thing. A big part of the workflow that we're developing depends on a variety of tools beyond just python packages. We've got things like dbt, prefect etc in the mix. Being able to specifically set up that set of tools for a project, as well as the right version of Python and sub dependencies like pip would be really helpful. A lot of these tools are easily installed with homebrew but then then issue is that they're global, and if you need version N for Project Y but Version N+1 for Project X then you're out of luck. Also as a sibling comment said i can use those some dependencies to build a container from.

I saw that you can layer environments when you activate, is it possible to have an env build on a another one/require another one? I'm thinking we'd have our standard company env which would have common utilities such as DBT or Gum installed but then we could easily layer over that with project specific dependencies.

You can definitely pin down the specific versions of all your dependencies per environment. And, you can for sure build one environment on top of another, you just have to activate them all (or include them in your project if you take a project based approach)

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.