Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better development setup #6

Open
ejgallego opened this issue Sep 23, 2021 · 6 comments
Open

Better development setup #6

ejgallego opened this issue Sep 23, 2021 · 6 comments
Labels
help wanted Extra attention is needed

Comments

@ejgallego
Copy link
Owner

As of now, make does a full python3 setup.py build && pip3 install . ; would be nice if we had a faster workflow, but I have no idea how to it.

@ejgallego ejgallego added the help wanted Extra attention is needed label Sep 23, 2021
@quinn-dougherty
Copy link
Collaborator

I think make has some way of specifying if some file exists, skip this target, but I don't know the Makefile syntax for that off the top of my head. Should be able to piggyback into #10

@ejgallego
Copy link
Owner Author

The problem is more that we have run pip3 install . , also python3 setup.py seems to be not incremental?

So maybe this issue should be renamed to "incremental python build"

@brando90
Copy link

is there an issue with the recommendations here #1 (comment)? I think that makes sense + during dev doing pip install -e . install in development mode.

@ejgallego
Copy link
Owner Author

How long does pip install -e . takes?

Usually, in OCaml land we don't need to install anything, our tooling recognizes that _build contains artifacts and acts accordingly. This, with build caches, makes dev very fast.

To give a reference, serapi usually is in the sub 1 s build for me.

@brando90
Copy link

good questions. The normal pip install does install the dependencies and if they are there already it uses them (so caching). So I guess the dependencies are compiled under the good. The -e is for the actual library you are currently developing only afaik and allows you to edit that library and have running the file working as normal even if you change it. Its a way to make the compiled code editable (as if it were interpreted I guess) but I have no idea how this magic works under the hood. I do think pip install -e . is quite standard though.

@ejgallego
Copy link
Owner Author

Thanks for the info @brando90 . I think we need to look at projects that use python to access some C library, that's exactly what we are doing here (we expose Coq as a C library)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants