Closed cuducos closed 3 years ago
Hej,
I am just curious, but adding manage.py
at the top level of the repository and including a complete django project, interferes with the app character/layout of the repository/project.
I wouldn't expect to see a demo django project in a repository for a django app.
Looking at the layout of other app projects like DRF or nested_admin, makes me believe that this change makes things more complicated.
There are other possibilities, like a second repository (that includes the example project) with a git submodule that contains django-public-admin
. Or a dedicated branch for development. A docker container that contains a developtment environment might also be an option.
There might also be the problem, that the example django project need to be up to date with django's latests releases. This might also include to adapt to new django project layouts/conventions that might come over time (e.g. changes in settings.py and other stuff). This might double the work.
I hear you, @jhrdt.
In my opinion, we need to differentiate what is a Python package and what is a repository. I am adding things to a respository, not to the Python package β neither the example/
directory nor the manage.py
is copied to site-packages
.
So I would agree with basically all your sentences if you were addressing a Python package, but I cannot agree on the same statements for a single repository.
I am just curious, but adding manage.py at the top level of the repository and including a complete django project, interferes with the app character/layout of the repository/project.
It was zero influence over the project as a Python package, for sure. And it has an arguably positive influence on the repository since now future users have an working example of the package available here.
I wouldn't expect to see a demo django project in a repository for a django app.
I think this is pretty nice. I like it that, for example, django-multiselectfield
and django-tables2
have working examples β although they moved the manage.py
and the application interely to a example/
folder. Othe packages form the Flask world also have working examples, such as Flasgger, Dynaconf, both with +1k starts on GitHub⦠so I just can't see why not.
Looking at the layout of other app projects like DRF or nested_admin, makes me believe that this change makes things more complicated.
And surely we can be selective to find examples to whatever we are claiming : )
There are other possibilities, like a second repository (that includes the example project) with a git submodule that contains
django-public-admin
. Or a dedicated branch for development. A docker container that contains a developtment environment might also be an option.
I think all of that would make sense if the work on the main branch of this repo was intense β which is not the case. We have 5 contributors and 33 starts at the moment. And only 29 commitis on the main branch. We're in alpha. Git submodules, adding dependency on Docker, or changing branches just to have an working example seam all good solutionsβ¦ but an overkill at this time. I prefer to keep it simple.
There might also be the problem, that the example django project need to be up to date with django's latests releases. There might also be the problem, that the example django project need to be up to date with django's latests releases.
This is not a problem, actually. At least, not a problem added by this PR. If new Django versions breaks anything, carrying about the versioning at pyproject.toml
and all the consequences is a problem that we already have.
Firthermore, I haven't mentioned the possibility of runing integration tests with this working example, which would be a plus, right?
Anyway⦠I do agree with the confusion caused by manage.py
at the root level, so I might move everything related to the example to the example/
directory.
I udnerstand we might disagree on many points here, but I would love to still have a follow up from you. In sum, I am trying to keep things as simple as possible (at least, while this is still a small project).
I hear you, @jhrdt.
In my opinion, we need to differentiate what is a Python package and what is a repository. I am adding things to a respository, not to the Python package β neither the
example/
directory nor themanage.py
is copied tosite-packages
.So I would agree with basically all your sentences if you were addressing a Python package, but I cannot agree on the same statements for a single repository.
I am aware, that the final artifact will only contain application code.
I am just curious, but adding manage.py at the top level of the repository and including a complete django project, interferes with the app character/layout of the repository/project.
It was zero influence over the project as a Python package, for sure. And it has an arguably positive influence on the repository since now future users have an working example of the package available here.
I wouldn't expect to see a demo django project in a repository for a django app.
I think this is pretty nice. I like it that, for example,
django-multiselectfield
anddjango-tables2
have working examples β although they moved themanage.py
and the application interely to aexample/
folder. Othe packages form the Flask world also have working examples, such as Flasgger, Dynaconf, both with +1k starts on GitHub⦠so I just can't see why not.Looking at the layout of other app projects like DRF or nested_admin, makes me believe that this change makes things more complicated.
And surely we can be selective to find examples to whatever we are claiming : )
Yes, thats a matter of taste.
There are other possibilities, like a second repository (that includes the example project) with a git submodule that contains
django-public-admin
. Or a dedicated branch for development. A docker container that contains a developtment environment might also be an option.I think all of that would make sense if the work on the main branch of this repo was intense β which is not the case. We have 5 contributors and 33 starts at the moment. And only 29 commitis on the main branch. We're in alpha. Git submodules, adding dependency on Docker, or changing branches just to have an working example seam all good solutionsβ¦ but an overkill at this time. I prefer to keep it simple.
I would agree on that.
There might also be the problem, that the example django project need to be up to date with django's latests releases. There might also be the problem, that the example django project need to be up to date with django's latests releases.
This is not a problem, actually. At least, not a problem added by this PR. If new Django versions breaks anything, carrying about the versioning at
pyproject.toml
and all the consequences is a problem that we already have.
Right.
Firthermore, I haven't mentioned the possibility of runing integration tests with this working example, which would be a plus, right?
Yes, that is a benefit.
Anyway⦠I do agree with the confusion caused by
manage.py
at the root level, so I might move everything related to the example to theexample/
directory.I udnerstand we might disagree on many points here, but I would love to still have a follow up from you. In sum, I am trying to keep things as simple as possible (at least, while this is still a small project).
So at the end, its a matter of taste : ) .
So at the end, its a matter of taste : )
Maybe it is. But either way I do like to understand your side of the story β and, by doing that, even calling my side into questioning. Many many thanks for contributing to the debate. Probably if this package gets more popular over time, Many of these ideas will be needed!
Given @jhrdt great contribution on #20, I could add an example application with Django's native admin running in parallel with this Django Public Admin:
example/
directory