Template (cookiecutter) for easily distributing SageMath code

81 views
Skip to first unread message

Marc Masdeu

unread,
Aug 23, 2017, 11:44:34 AM8/23/17
to sage-devel, Vincent Delecroix, Jean-Pierre Flori, maa...@mderickx.nl
After some work (building upon github.com/sagemath/sage_sample) that some of us did during Sage Days 87 and the Leiden workshop that took place a few weeks ago, I'd like to collect some feedback / pull requests on a first attempt at making it super easy for anyone to get their own working GitHub/TravisCI/GHPages setup. This can be found at github.com/mmasdeu/sage_package_template.

I know that there is several people who think that this is not the way that code should be distributed. I am asking feedback from the complementary set of people, really (although constructive comments from anyone are definitely welcome!).

Thank you!

Vincent Delecroix

unread,
Aug 23, 2017, 11:57:43 AM8/23/17
to sage-devel
One thing (IMHO much more important than the "cookie cutter" buisness)
is to actually have a community supported language for SageMath in
travis [1]. My aim is to allow the following in the travis script

{{{
language: "SageMath"
version:
- "7.6"
- "8.0"
}}}

What need to be done

1) have 3 "official" person in charge of maintenance (with me being ok,
we need 2 more)

2) provide a pull request to travis-build and travis-web

Best
Vincent

[1]
https://docs.travis-ci.com/user/languages/community-supported-languages/

Jeroen Demeyer

unread,
Aug 23, 2017, 12:43:21 PM8/23/17
to sage-...@googlegroups.com
On 2017-08-23 17:44, Marc Masdeu wrote:
> I know that there is several people who think that this is not the way
> that code should be distributed. I am asking feedback from the
> complementary set of people, really (although constructive comments from
> anyone are definitely welcome!).

My personal opinion is that "SageMath packages" should use as little
Sage-specific things as possible. In other words, a SageMath package
should really be just a Python package with a dependency on SageMath.

Marc Masdeu

unread,
Aug 23, 2017, 5:43:28 PM8/23/17
to sage-...@googlegroups.com
This seems like a great idea. I am happy to be in the list of
"maintenance" people as well.

On the other issue, you are not probably the right target for the
cookie cutter thingy, but I believe that it's a quite convenient tool
if a developer has never set this up before (like myself six months
ago).
Marc
-----------------------------------------------------------------------------
marc.masdeu AT gmail DOT com
-----------------------------------------------------------------------------


On Wed, Aug 23, 2017 at 5:56 PM, Vincent Delecroix
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "sage-devel" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/sage-devel/OoTNcZpAwPo/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> sage-devel+...@googlegroups.com.
> To post to this group, send email to sage-...@googlegroups.com.
> Visit this group at https://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.

Marc Masdeu

unread,
Aug 23, 2017, 5:45:18 PM8/23/17
to sage-...@googlegroups.com
This is essentially what they are supposed to be. The main goal of
this cookie cutter is to easily set up the project with Travis CI and
automatic documentation generation and deployment.
Marc
-----------------------------------------------------------------------------
marc.masdeu AT gmail DOT com
-----------------------------------------------------------------------------


Jean-Pierre Flori

unread,
Aug 23, 2017, 5:57:03 PM8/23/17
to sage-devel
Yes!
I support this :)

My only suggestion would be to get rid of using the travis command.
And maybe move the get_all_version_names into the fake sagemath package.

Jean-Pierre Flori

unread,
Aug 23, 2017, 5:59:05 PM8/23/17
to sage-devel
Oh and the MANIFEST.in file is not quite good at the moment.
You could add pxd files in there.

Erik Bray

unread,
Aug 24, 2017, 5:53:04 AM8/24/17
to sage-devel
On Wed, Aug 23, 2017 at 5:56 PM, Vincent Delecroix
<20100.d...@gmail.com> wrote:
> One thing (IMHO much more important than the "cookie cutter" buisness) is to
> actually have a community supported language for SageMath in travis [1]. My
> aim is to allow the following in the travis script

Oh, this is wonderful! I must have missed when Travis CI opened up
this possibility. I think that would be a great idea.

Erik
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an

Jeroen Demeyer

unread,
Aug 24, 2017, 10:45:35 AM8/24/17
to sage-...@googlegroups.com
On 2017-08-23 23:44, Marc Masdeu wrote:
> This is essentially what they are supposed to be.

But it's not what your package does! You are using "sage" all over the
place.

Erik Bray

unread,
Aug 24, 2017, 12:32:26 PM8/24/17
to sage-devel
I'm probably missing something, but I don't see where it's using
"sage" except in the docbuild (so sage would be a doc dependency).
This isn't a big deal though (and I hope, eventually, the sage
docbuild tools will be split into a separate package).
Reply all
Reply to author
Forward
0 new messages