- 
                Notifications
    
You must be signed in to change notification settings  - Fork 2.5k
 
Move to Poetry #165
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
Move to Poetry #165
Conversation
| 
           I have an idea for fixing   | 
    
| 
           I'm not sure "Move to Poetry" is the right wording for this, more like "Add support for Poetry", right? Because we're of course not going to give up on pip, we'd just allow people to use   | 
    
| 
           I'm not sure that we should be investing anything more into Cairo. Immediately after we finish the add-on API, we're going to be removing all dependencies on Cairo in favor of OpenGL rendering.  | 
    
          
 More like in favor of none in specific (at least in the main repo), because the idea is that we become able to use different renderers, not just one.  | 
    
          
 Well, yeah, but we have to include at least one renderer with Manim that's pretty much guaranteed to work. I'm not saying that it should be hard-coded, but at least come with Manim CE as a preinstalled add-on.  | 
    
| 
           If we don't include one with the initial download, we are going to have many confused users.  | 
    
| 
           Such an add-on would have to be on a separate repo either way though, and it can be added as a dep or as a submodule or something  | 
    
| 
           Yeah, that's a good idea. I'll open a new issue about how rendering should be changed.  | 
    
          
 The first thing to say is Poetry and  pip install manimfor installation. So, Move to Poetry is a valid statement and we are not gonna think about publishing packages after this PR. I currently named the package as  Also, you could see https://pycairo.readthedocs.io/en/latest/integration.html?highlight=GL%20#moderngl-imagesurface-as-texture which maybe useful.  | 
    
| 
           Why is Travis failing for this? Idk  | 
    
| 
           Travis is failing for everything at the moment. In any case, after looking over it a while I think using poetry will probably save us a lot of effort in the long run.  | 
    
| 
           Also, I am creating a GitHub Action to publish packages using poetry!  | 
    
| 
           @naveen521kk What's your progress on this? Tests have been fixed, so merge master into your branch and let them run.  | 
    
| 
           Workflow for Github Action is done. Also, btw Pycairo is still a Problem! I just made pygobject/pycairo#191 but there is no response from them. Please do say me what can be done! One thing which can be done is to create a fork ourselves and do release binaries for windows with what I made there.  | 
    
| 
           Ok so I will add some items in ReadMe contributing guidelines and also resolve conflicts by today.  | 
    
… poetry-change-new
| 
           Today we should merge this as I would be able to work on this later.  | 
    
| 
           I think this PR is ready and can be merged.  | 
    
… poetry-change-new
| 
           I just tried following the instructions for installing manim via poetry, everything ran smoothly. Apart from the one unresolved discussion (https://github.com/ManimCommunity/manim/pull/165/files#r481102250), I also think this can be merged.  | 
    
| 
           One thing we should remember is to fix the pycairo thing for windows, as of this comment by maintainer they would do the  @behackl I will change that thing.  | 
    
| 
           This needs a review and then can be merged.  | 
    
| 
           Yes, can this be merged? @leotrs ?  | 
    
| 
           Ok this is ready for merge (sorry for the delay!) I'm merging this in exactly 24h from the moment this post is made. @ManimCommunity/core @ManimCommunity/contributor please make sure to read the instructions ( If anyone has any objections, please leave a message here saying so before the 24h period is up. NOTE: I think 24h is enough because this PR has been open for a while. Even if someone is not able to leave a message in this 24h period (perhaps they don't have wifi access for the time being), it is fine to come back here later and raise any objections. In any case, if you do have any objections, make sure to not pull from master until your questions/objections are resolved.  | 
    
| 
           Actually, @behackl and I just realized that moving to poetry will kill our RTD builds, so this PR needs to include that as well. Sorry to keep delaying this y'all. @naveen521kk could you please look into this? readthedocs/readthedocs.org#4912  | 
    
| 
           As already mentioned pip handles it now. I need to just edit the docs requirements files to use zip files(https://github.com/ManimCommunity/manim/archive/master.zip) instead of git because git dependency installs in editable mode(not possible without  I suspect this somehow broke for python 3.6 because Idk there is some issue with pip see this log from Google Collab. Using poetry is ok here. But normal pip install doesn't work out. I will try the same of windows soon.  | 
    
| 
           @leotrs RTD build it successfully https://manim-naveen.readthedocs.io/en/latest/  | 
    
In this PR
What is Poetry?
Poetry is a dependency manager as well as help us publish packages to Pypi. Refer to their website for more info https://python-poetry.org/.
But even here,
pycairocreates a problem. Well, we should need to think about it. (Now it is fixed)See https://github.com/python-poetry/poetry#installation for installation on your PC. Also, don't forget to read the documentation.
Also, according to https://www.python.org/dev/peps/pep-0518/ adding a
pyproject.tomlis necessary.You could read https://github.com/python-poetry/poetry#what-about-pipenv.
One thing which should be done.