Google Summer of Code 2019

604 views
Skip to first unread message

Tim Graham

unread,
Jan 16, 2019, 9:33:55 AM1/16/19
to Django developers (Contributions to Django itself)
Org applications for Google's Summer of Code are now open (deadline February 6). Do you think the Django Software Foundation should participate?

We haven't had any high quality student applications that we could accept for the past two years.

Perhaps it's partly a function of a poor ideas page (https://code.djangoproject.com/wiki/SummerOfCode2018). Perhaps we don't do a great job of publicizing our involvement and attracting high quality students. Perhaps it's because the student payment isn't all that much (+/-$6000 USD, depending on student's country)* for the amount of work involved (also, students have to put in a lot of work up front in their application, with no guarantee of being accepted into the program).

If you have any ideas about mentoring or suggesting a project, or if you're serious about being a student (you should start contributing to Django now if you don't already), please share.

PARTH PATIL

unread,
Jan 16, 2019, 10:00:08 AM1/16/19
to Django developers (Contributions to Django itself)
Hey Parth here. I am genuinely interested in doing a project with django as student in gsoc 2019. I have been working hard since past few months to get myself familiar with the famework. I had few project ideas in mind, but I'm confused about the intricacies and needed some help. Also i haven't contributed much yet, it would be very helpful if anyone can give me proper channel from where i can seek help or discuss with other people. Also where can i find the contact of people who have already done a gsoc project with django.

P.S.:- I have tried posting on groups and messaging few people, but haven't gone far with that

akki

unread,
Jan 20, 2019, 2:34:21 AM1/20/19
to Django developers (Contributions to Django itself)
Hi

One of the most difficult things for me while preparing my GSoC proposal was getting myself acquainted to Django's humungous code base.
To prepare a proposal one should know what modules they would need to modify & what part of the code they will need to work with. To do that one should *at least* know what is the role of a particular module/file in the big picture of Django's code. For me, even though I had drilled down that I had to work just with django/db, I still had the task of figuring out the working of *so* many modules. There were models.options, models.sql.query, models.sql.compiler, migrations.autodetector, migrations.loader, migrations.optimizer, backends.features, backends.introspection, backends.operations, backends.schema and many more which were somehow connected to each other & doing something but I had no easy way to know what.
I think putting an individual README to places like django/core/django/db/models/, etc. with even a 1-2 line description of what purpose each of the folder/file (or at least the convoluted ones) in that folder serve might be great help to newbie programmers - just not for GSoC but any new contributor.
I understand that the work required to make this happen might be quite big and complex (maybe big enough to make it a GSoC project in itself, but Google doesn't accept purely documentation projects for GSoC IIRC) but might be achievable if merged in parts.


@Parth I am Django's GSoC fellow for 2016. If there is any way I could help you, feel free to reach me out. For other fellows, you can search for Django in the archives of GSoC's website.
Also, a quick way to ask questions about contributing to Django from the community is the IRC channel #django-dev

Carlton Gibson

unread,
Jan 24, 2019, 9:43:13 AM1/24/19
to Django developers (Contributions to Django itself)
Perhaps it's partly the GSoC doesn't cross the radar until just a few weeks before the deadline... 🙃

I'm happy to help mentor but also Django Core Mentorship is there...


One idea for a good project might be adding a cross DB JSONField as per this thread


* All the supported DBs have native JSON support. 
* SQLite is the only one where we don't have a Django model field already to work on. 
   * That would be first step as PoC I'd guess. 
* Then, how can we unify? 
* And, a migration path (from contrib.postgres) 

I don't know if that's perfect but it strikes me as eminently do-able. 

Adam Johnson

unread,
Jan 24, 2019, 10:01:00 AM1/24/19
to django-d...@googlegroups.com
I'd be happy to help mentor a cross-DB JSONField, it's something I'd like to see done so I can deprecate the one I maintain in Django-MySQL.

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
To post to this group, send email to django-d...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/32637936-6241-43f6-bbbf-469f57d3d371%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


--
Adam

Josh Smeaton

unread,
Jan 25, 2019, 3:56:38 AM1/25/19
to Django developers (Contributions to Django itself)
Other ideas can be found in the DEPS repo too: https://github.com/django/deps/pulls

The only one of those 3 that would be GSOC doable (IMO) would be the query expression language one.

Florian Apolloner

unread,
Jan 25, 2019, 4:34:58 AM1/25/19
to Django developers (Contributions to Django itself)
On Thursday, January 24, 2019 at 4:01:00 PM UTC+1, Adam Johnson wrote:
I'd be happy to help mentor a cross-DB JSONField, it's something I'd like to see done so I can deprecate the one I maintain in Django-MySQL.

Not sure if GSOC changed that much, but it seems like somewhat small for a GSOC project.

shrikr...@crediwatch.com

unread,
Jan 29, 2019, 7:48:20 AM1/29/19
to Django developers (Contributions to Django itself)
Maybe, we could append this idea with the 'Improve less popular database backend idea' on the wiki page as that project is also not that big for a GSoC project but the purpose of both projects seems quite similar to me. So I guess we could have a good GSoC project by combining both the idea?


Crediwatch Information Analytics Private Limited
Bangalore Office: #22, 13th Main, Jayanagar 4th Block, Bangalore - 560 011
Mumbai Office: #1902, 19th Floor, Tower B, Peninsula Business Park G K Marg, Lower Parel, Mumbai - 400013

Confidentiality Notice: The content of this email is confidential  and intended only for the Addressee. All other recipients are prohibited from disclosing , copying distributing or taking any action in reliance to the contents of this email.

Please consider the environment before printing this e-mail.

shrikrishna singh

unread,
Jan 29, 2019, 12:33:18 PM1/29/19
to Django developers (Contributions to Django itself)
Hello Carlton,

I am interested to do a GSoC project based on this idea and looking forward to researching on this topic and drafting a proposal.

In the mean, can you please suggest me any easy picking ticket(related to this idea) I should work on?

Thanks,
Shrikrishna

Carlton Gibson

unread,
Jan 29, 2019, 12:51:26 PM1/29/19
to django-d...@googlegroups.com
Hi Shrikrishna,

Not so much a ticket… See the thread I linked. There’s a lot of info there.

The first step (I think) is a proof-of-concept JSONField for SQLite — we have the other three DBs.

So taking a look at the implementation of the existing fields and SQLite’s API for the JSON extension, should lead you to be able to put together the first draft of some thoughts as to how we’d go forward.

Have a rummage in `contrib.postgres` (and the Oracle and MySQL examples). How do the equivalent lookups look in SQLite? (HasKey, ContainedBy, and so on.) Any blockers?

A rough breakdown here would be a good starting point.

From there, there are lots of people here who know a lot about this stuff (more that me).

I’m wondering about Florian’s point about scope. I don’t know much about GSoC, so I don’t know what they’d require.
(The other wish-list item for me is a cross-DB ArrayField, but I haven’t even begun to look what the support is like there, if any at all.)

Kind Regards,

Carlton

Adam Johnson

unread,
Jan 29, 2019, 1:11:48 PM1/29/19
to django-d...@googlegroups.com
Small point: a cross-DB JSONField could also serve as a cross-DB ArrayField, since JSON can store arrays. I don't believe MySQL or SQLite have "array" types, so to build a cross-DB ArrayField you'd emulate them with JSON plus a restriction to just storing arrays, which comes back to building a cross-DB JSONField.

--
You received this message because you are subscribed to the Google Groups "Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
To post to this group, send email to django-d...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-developers.

For more options, visit https://groups.google.com/d/optout.


--
Adam

shrikrishna singh

unread,
Jan 29, 2019, 3:01:58 PM1/29/19
to Django developers (Contributions to Django itself)
Thanks for the input Carlton and Adam. I will start working on the POC then.

gaurav jain

unread,
Jan 31, 2019, 6:24:36 AM1/31/19
to Django developers (Contributions to Django itself)
One Idea i have a one command django project maker to instead having 1+n commands(n number of apps) and linking them in setting we can have command take the number of apps and app_names in ine do and then later we can add functionality for heroku ,docker etc

Tim Graham

unread,
Feb 1, 2019, 4:32:43 PM2/1/19
to Django developers (Contributions to Django itself)
As of now, I haven't seen any existing Django contributors who are planning to propose a project, therefore I don't think it's worthwhile for the DSF to apply for this summer. The decision to apply on behalf of the DSF is up to Carlton, Mariusz, or another potential mentor.

Carlton Gibson

unread,
Feb 3, 2019, 4:11:11 PM2/3/19
to Django developers (Contributions to Django itself)
Yes. GSoC wasn't at all on my radar before your post here Tim. 

We've had a few "hello" posts but no even semi-concrete proposals from students. (Equally we don't have a list ready to go.) 

I had a look at the process. It seems a moderate commitment, so, for me, I think I'd want to be familiar with applicants before we took that on. i.e. We need say to students to get involved months before. 
I'll think about messaging for that for next year because GSoC seems good overall. 

SO unless someone is going to blow us away with an outline of a proposal TOMORROW, we'll have to pass this year. (Deadline being Tuesday.)

PARTH PATIL

unread,
Feb 4, 2019, 3:40:32 AM2/4/19
to Django developers (Contributions to Django itself)


Hey, I am really enthusiastic for doing GSoC with Django, I had been working for a few months to get myself familiar with the code base. I have quite a few unpolished ideas in my mind for projects like the one posted here.

Though I'm unable to understand why Django is not ready to participate in GSoC this year?

Also, I would like to point out what Carlton said in his post.
  • I don't think it is justified to expect mind-blowing project proposal this early. As per the GSoC's timeline, the application deadline is April 9 which is like two months for now.
  • Even the discussions of ideas according to Google begins from 20 days from now.
  • There is also no ideas page for Django for 2019, to which students can refer.
  • More importantly, as a student, I think many students will be genuinely interested to take up a few good projects with Django.

Carlton Gibson

unread,
Feb 4, 2019, 4:06:30 AM2/4/19
to Django developers (Contributions to Django itself)
Hey Parth, 

Yes, you're right: 

> Students can register and submit their applications to mentor organizations. All proposals must be submitted by April 9, 2019 20:00 (CEST).

There's time. I was thinking tomorrow was the full proposal deadline. (That's my lack of familiarity with it.) 

I will fill do the the Organisation application today. The programme seems a good opportunity. 

Kind Regards,

Carlton

Carlton Gibson

unread,
Feb 4, 2019, 4:19:06 AM2/4/19
to Django developers (Contributions to Django itself)
Hey Tim. 

> For each year your organization has participated, provide the counts of successful and total students. (e.g. 2016: 3/4)

I have no idea about this, could you advise? 

Thanks. 

Tim Graham

unread,
Feb 4, 2019, 7:05:04 AM2/4/19
to Django developers (Contributions to Django itself)

Giuseppe De Marco

unread,
Feb 4, 2019, 9:07:40 AM2/4/19
to django-d...@googlegroups.com

Tim Graham

unread,
Feb 4, 2019, 9:43:39 AM2/4/19
to Django developers (Contributions to Django itself)
It's a private wiki that only Django team members like Carlton can access. It contains the information for Django to apply for GSoC.

Carlton Gibson

unread,
Feb 4, 2019, 9:55:42 AM2/4/19
to Django developers (Contributions to Django itself)
And thank you Tim, yes, exactly what I need. 

To all: 

I will put in the org application today. We'll then see about the proposals. 

The main thing is that we need to know who you are, and have confidence in you in order to commit to the project with you. 
For people to mentor you is a big commitment of time and energy. You need to demonstrate that will be well invested. 

The way to do that is to get involved and show us who you are over the next few months. 
Help reproduce bugs, review patches, create patches etc. 
It doesn't take much before you're visible. (Really!) 

The best way (also) to come up with project ideas is to see where there are issues already. 
(Much better than us providing a list.) So again, be involved. 

If you start now, there's still lots of time, so I'm hoping. 

Kind Regards,

Carlton

Shashank shet

unread,
Feb 14, 2019, 7:46:57 AM2/14/19
to Django developers (Contributions to Django itself)
Hello Carlton sir,
I have worked on Django as a part of a project and wished to ask if the organization is still accepting proposals for GSoC 2019.

Carlton Gibson

unread,
Feb 14, 2019, 8:02:17 AM2/14/19
to Django developers (Contributions to Django itself)
Hi Shashank. 

"Sir"? That's my father, surely. 🙂 (Not "sir" 🙂) 

We've applied as an Org. Haven't heard yet whether we'll be accepted. 

If so, proposals would be welcome. We'd then need to think about mentors. Good proposals will draw out people there. 

If we can get all that lined up then, yes, in principle we're accepting applications. 

Kind Regards,

Carlton

Shashank shet

unread,
Feb 14, 2019, 12:46:52 PM2/14/19
to Django developers (Contributions to Django itself)
Thank you Carlton. I had in mind an idea for providing out-of-the-box webserver deployment capability. In the projects I've done, one of the most time consuming tasks for us was deployment on a server, mainly due to a lack of experience. That's why I figured that an automated system for deployment would be helpful. It would work similar to the runserver command, taking essential configurations from a designated file and not having to actually make changes to files in different parts of the filesystem, or following a long list of instructions manually. Any suggestion would be very helpful.

Carlton Gibson

unread,
Feb 14, 2019, 12:55:57 PM2/14/19
to Django developers (Contributions to Django itself)
Hmmm. I think that would be out for scope for Django. More suited to tools such as Ansible (and similar). I don't think adding a one step deployment story would really be feasible within a GSoC project. (As you say, it's very complex.) 

Tom Forbes

unread,
Feb 14, 2019, 1:00:28 PM2/14/19
to django-d...@googlegroups.com
Out of interest, do the projects for GSOC have to fall within the Django repository themselves? Could they be an associated project under the Django umbrella?

I think something that helps with deployment in general could be interesting, but it definitely does not live inside Django core. However some form of 3rd party package exploring this is another matter entirely.
--

You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
To post to this group, send email to django-d...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-developers.

Shashank shet

unread,
Feb 14, 2019, 1:18:21 PM2/14/19
to Django developers (Contributions to Django itself)
That seems accurate.
In your opinion, would it still be infeasible to provide support for one stack to begin with? For example: gunicorn + nginx? And that can ultimately lead to support for other configurations.

kamalesh palanisamy

unread,
Feb 14, 2019, 2:09:59 PM2/14/19
to Django developers (Contributions to Django itself)
I have also been working on Django for two projects when will the applications be available Sir?

vineeth sagar

unread,
Feb 14, 2019, 2:09:59 PM2/14/19
to django-d...@googlegroups.com
One good thing we can add is redis support for caching, it's good that there are libraries out there, it's about time redis is included, because it's well documented and does all the things memcached does and even more.  

Or maybe some async support.

regards
Vineeth

Carlton Gibson

unread,
Feb 15, 2019, 4:28:45 AM2/15/19
to Django developers (Contributions to Django itself)
The timeline for GSoC is here: https://summerofcode.withgoogle.com/how-it-works/#timeline

Applications are ≈ a month away. 

Here's an example from a previous year: https://gist.github.com/chrismedrela/82cbda8d2a78a280a129

I'd suggest drafting things in more detail and starting a new thread to invite discussion. 

I don't know what'll be suitable: it depends on the proposal: 

- something not in core? Yeah, maybe. 
- Something for deployment? Well, seems a bit ambitious, but again maybe... 
- Bringing the two(?) community Redis cache backends into one in core? Reasonable idea perhaps, yes. 
- A cross-db JSONField etc. Yep, great... 

...and so on. What do you want to work on? 


Shashank shet

unread,
Feb 15, 2019, 4:53:34 AM2/15/19
to Django developers (Contributions to Django itself)
That's a good idea. I'll start working on a draft for the deployment support project.

Josh Smeaton

unread,
Feb 15, 2019, 6:22:22 AM2/15/19
to Django developers (Contributions to Django itself)
If you really think you want to work on a deployment project, you should get the requirements together very quickly, so someone on this list can sanity check that it's something both feasible and useful.

I have done a **lot** of different deployments, and other than deploying to heroku, they have never been the same. I'm rather skeptical that some tool can be built for deploying a Django application that didn't already mimic an existing tool like Ansible or Salt (or Heroku CLI).

Examples: what application server (gunicorn, uwsgi, mod_wsgi)? What web server (nginx, apache, caddy)? What database server, and is it remote or local? How are environment variables securely provisioned and deployed? Where is static content served from, and do you need S3 keys? How are you managing TLS certificates?

Start a new thread on this list when you have an outline for what you want to do. At that stage we should be able to tell you if you should proceed with a detailed project scope or not. I don't want you to work on a detailed project scope and then get knocked back for the idea being infeasible. Remember, the project would need to be very useful for Django users.

I'd also just like to call out that projects like Django Channels would likely be in scope too, provided the current maintainers felt comfortable mentoring a student. A quick note about Channels specifically - the current maintainers have **just** taken up that mantle, so you should have a specific idea in mind if that's what you're interested in, not ask the team for ideas.

Adam Johnson

unread,
Feb 15, 2019, 6:49:24 AM2/15/19
to django-d...@googlegroups.com
Yes in my experience Heroku/Divio/Elastic Beanstalk/other PaaS platforms already fit the space of a "simple Django deployment". I am also skeptical, I'd need to see how it fit in the space, what it does differently, and how it will be maintained long term. I think it's a bit outside the remit of DSF as it stands.

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
To post to this group, send email to django-d...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-developers.

For more options, visit https://groups.google.com/d/optout.


--
Adam

Shashank shet

unread,
Feb 15, 2019, 9:51:04 PM2/15/19
to Django developers (Contributions to Django itself)
I was looking into how ansible is used to automate the deployment procedure for django, and it does indeed seem to cover a lot of ground. It seems unlikely that I can add anything particularly new to the automation process.

Aleksi Häkli

unread,
Feb 16, 2019, 2:01:59 PM2/16/19
to Django developers (Contributions to Django itself)
Just my 2 cents or ramblings on the topic of GSoC and deployment:

Most Django deployments we do are executed by running containers from custom built Docker images from private repositories.

They are mostly run with either

- Docker Compose on small scale, or
- Heroku, Kubernetes or other container orchestrator on larger scale.

The Docker images and their packaging are starting to look quite similar these days with their 12-factor setups and service oriented approaches.

The baseline package is usually just a Python template that runs Django installation with all the checks, static file compilation, and whatnot at the end of the image build. 

Then there is, usually, a shell startup script, that is run as an entrypoint, which runs migrate and other state related commands on container startup and execs the Django application as configured.

The Docker images we build ideally support running multimode with the 

- web server container running Gunicorn, uwsgi, or a similar HTTP application server, and 
- the background worker container running a task executor like Celery or Django Q

and the container orchestrator just supplying the command (one can think of this as the "mode") to run in.

This is all and good, and Django supports a runner setup like this beautifully without any gimmicks with Docker images and containers. 

Well, you have to figure out the necessary build and startup commands and so forth, but there are good online resources for figuring out those things nowadays.

Progressing to the point I am trying to bring up, I think that containerization instructions with some good examples including stuff like 

- Docker image packaging for a basic Django web server using FOSS components,
- configuration and settings examples in a Docker build and deployment setup for Django,
- multimode container examples for running in web server or web worker role,
- sane defaults for security hardening and checkups, and
- defining startup scripts for running tasks like migrations before application execution

could be quite invaluable in the Django deployment documentation at e.g. https://docs.djangoproject.com/en/dev/howto/deployment/

The deployments are starting to look so similar these days that supplying good stock examples for packaging a basic web server and web worker image and running it as a container could be a good idea that could save tremendous amounts of time for people building their first or second deployments. Best practices never hurt anybody either.

Of course e.g. many of the Cookiecutter templates available have examples for Docker packaging, but none of the ones I have seen discuss the process in an easily accessible format that ties in well with Django development and documentation. They are usually more expert oriented and just supply some opinionated configuration examples that might or might not work or be secure or up-to-date. 

I imagine at least including some Docker packaging and workload containerization components in the GSoC proposition could be helpful. Packaging could align with the GSoC motives as e.g. Kubernetes enablement is well in line with modern IaaS hosting interests.

Regards,
A DevOps guy

PARTH PATIL

unread,
Mar 3, 2019, 12:43:20 AM3/3/19
to Django developers (Contributions to Django itself)
Hey its been quite a while, I have posted my idea for gsoc here. Can someone please review it so that i can decide whether to move with this or think of something else.

Gaurav Agarwal

unread,
Mar 3, 2019, 9:01:12 AM3/3/19
to Django developers (Contributions to Django itself)
Hi, I am a student from IIT Guwahati. I am familiar with Python and Django. I want to contribute. How should I start?

Carlton Gibson

unread,
Mar 3, 2019, 3:20:23 PM3/3/19
to Django developers (Contributions to Django itself)
Hi. 

In general, for GSoC, I want to look at the project ideas, the org profile, and such over the next couple of weeks.
I try and make the Org page the starting point. 

Kind Regards,
Carlton
Reply all
Reply to author
Forward
0 new messages