Replies: 4 comments 14 replies
-
Yeah, there's going to be some tricky edge cases (like Mocking the Build infrastructure I had a little exposure to, one thing I used to do with Documentation is something I'm still learning how to do properly with Python. Never quite got the hang of Sphinx… I'm too spoiled by the likes of Doxygen in the C/C++ world that practically does everything for you. One gotcha here is that some of the Markdown libraries for docs are really lagging in terms of support for newer Sphinx versions. This might not seem to matter, but it can be a nightmare for distribution packagers. (I've picked fights with packages that wanted a specific version of Regarding linting and static checks, I think I've got a lot to learn. I know some of my projects target Python 3.5 to be as widely compatible as practical so much of my own code does not use type annotations, however here this is a green-fields project, and also as a tool, is not actually a dependency of any given project that might use it. It'll be installed, used to generate So I think we should be targetting versions of Python used in "still supported" OS releases. Debian Buster (release 10) shipped Python 3.7, which supports a lot of the newer type hint features and still receives long-term support. If we aim for that, it should practically work anywhere including quite old systems. I think this will be an interesting project, in so far as there's a lot of little tricks to learn about making something that's properly maintainable. |
Beta Was this translation helpful? Give feedback.
-
I'm thinking that I can try to add a really basic test and get the whole tox/pytest workflow working, and then after that we should set up a Github Actions workflow to run tests so that it's easy to tell when a change is breaking something. Will you want to handle the workflow part @sjlongland? (if not, I'm fine doing it) |
Beta Was this translation helpful? Give feedback.
-
BTW: if I seem a bit slow lately, I'll apologise right up front… I had picked up a chest bug at the last emergency comms event (not COVID-19, but there's lots being 'shared' for everyone) and had intended to "rest up" this week-end, quietly working on the laptop. One escapee cat who decided he'd go out Friday morning and disappear until Sunday morning meant I was out and about looking for him instead of recovering (or working on this project). Talk about timing. Will be visiting the doctors today, hopefully some antibiotics and rest, and I'll be able to get into this fully. :-) |
Beta Was this translation helpful? Give feedback.
-
FYI @sjlongland (in case you didn't see it yourself) I created a bunch of issues for individual fields of Note that I've defined these issues to focus solely on static definitions, i.e. not the cases where certain fields in |
Beta Was this translation helpful? Give feedback.
-
@sjlongland I figured I'd lay out a rough plan, for clarity and so we can avoid stepping on each others' toes:
setuptools_scm
is involved), but there are going to be a lot of straightforward ones, which is where your gist comes in handy.If you want to "claim" any particular part of the work, I guess let me know here? That way we don't duplicate effort. We can also break these things up into specific issues in the issue tracker and assign them, but I don't know if the project needs that level of organization just yet.
FWIW I've recently been working on build infrastructure for a couple other projects, so that part is fresh on my mind... I could get that set up soon. Unless you wanted to do it, of course.
Beta Was this translation helpful? Give feedback.
All reactions