PyO3 / pyo3

Rust bindings for the Python interpreter
https://pyo3.rs
Apache License 2.0
12.41k stars 766 forks source link

Logo #3109

Open davidhewitt opened 1 year ago

davidhewitt commented 1 year ago

I was just thinking the other day that it could be nice to have a proper logo created for PyO3!

If other maintainers also agree, then the only question is... what should it be? Ideas welcome :)

adamreichold commented 1 year ago

In keeping with Rust's bicycle theme, maybe a python riding a bicycle with Rust logo gears? Sounds a bit complicated for a logo though...

(It would need to be a racing bicycle because we make Python code faster, and the python would need to wear a helmet because we also make writing extensions safe.)

kngwyu commented 1 year ago

Sorry for my bad drawing but here's a quick sketch 😅 pyo3logosketch

wiwichips commented 1 year ago

image

What do yall think of this general design? It kind of looks like a P , but you can also see the "O" . And it uses the colours from Ferris and Pythons

Happy to make any changes or upload SVG versions etc

davidhewitt commented 1 year ago

I like the simplicity and the idea to use the colours (numpy uses the Python colours in a Rubik's cube, which is a cool logo IMO)! Maybe it's just me, my brain keeps wanting to read the proposal above as "D3" (maybe just because I've used that project in the past).

I agree the whole bike logo is a bit complex, though I like the theme too. What about having a snake coiling around a "Rust" bike chainring (which looks a bit like an "O") with a 3 somewhere?

Below are some awful mockups by crudely merging the Python and Rust logos (I think in practice this is not permissible for trademark reasons, though maybe someone with more artistic talent than me will be inspired by this to make something unique).

pyo3 logo mockup

pyo3 logo mockup 2

davidhewitt commented 1 year ago

The "O3" could maybe also be done by having three bicycle gears (plus a snake or two?), instead of needing the number 3 to appear somewhere.

orhun commented 1 year ago

Here are some AI-generated logos for inspiration ✨

_27331375-df8b-4e27-973f-4023200128ea

logo flat icon that says "PyO3", mix of Rustlang gears and Python logo, very detailed, 3D, vector

_6c0d8048-a6d8-41b3-b335-f0de9fbfbf26

logo flat icon that says "PyO3", mix of Rustlang gears and Python logo BUT NOT QUITE LIKE THAT, very detailed, 3D, vector

somethingelseentirely commented 4 months ago

Figured I'd also give it a shot, might be a better mascot than a logo though: Meet Pyotr the snake.

In a more ferris like variant:

pyo3logo

Or in a more snakey variant:

pyo3logosnakey

And a slightly more noisy but also more interesting variant with patterned scales: pyo3logoscales

birkenfeld commented 3 months ago

@somethingelseentirely I like the last two, since there's no chance of running into the trademarks of etiher Rust or Python.

somethingelseentirely commented 2 months ago

Maybe the best way to push this forward, if you like the logo, is to create a sub-repo in the PyO3 org (marketing, design, branding, logo, whatever you feel fits), on which I could create a pull request with all the design files and some exported variants for various purposes. I would have done a PR a while ago but figured we shouldn't clutter the main repo with this (especially with binary Adobe Illustrator files).

I will put it under whatever license you want/transfer ownership of the rights to wherever is the current legal/personal entity representing PyO3. I'd also be happy to put it in the public domain (like the design files I based it on).

davidhewitt commented 2 months ago

@somethingelseentirely that sounds great, and sorry I have been slow to reply on here. I love the middle one without the additional detailing; I think at small sizes the extra detail might get lost and if the scales were bigger it might not look as great (?)

Given that numpy seems to have precedent of having logo in the main repo, I'd be happy for a PR to add assets here under branding in the same way. I can also create a branding repository where the source design files can be located, with you added as a collaborator.

I will put it under whatever license you want/transfer ownership of the rights to wherever is the current legal/personal entity representing PyO3. I'd also be happy to put it in the public domain (like the design files I based it on).

Licensing is a great question. At the moment the only legal entity representing PyO3 is the sum of its contributors; like most OSS projects we share copyright as per the Apache / MIT licenses PyO3 is distributed as. I think either we add it to the existing license / copyright, or we just release into the public domain, perhaps as you prefer.

Before we publish anything, it might be worth just double-checking with the Python Software Foundation that they are comfortable with the fact that this logo is derived from the same colours as the Python logo. The PSF Trademark Usage Policy implies they would prefer we ask. I will send that question today.

davidhewitt commented 2 months ago

And as a final comment - thank you so much. It will add so much to PyO3 to give it a quality logo!

somethingelseentirely commented 2 months ago

logo is derived from the same colours as the Python logo

Good point, it's currently using the brightest colors of the Python logos gradient, but I can also change it to some other yellow/blue combination if they want to.

I'm gonna create some pixelated versions later to see if I can make the scales work on a favicon.

sorry I have been slow to reply on here thank you so much

No worries! I know what it's like juggling projects, it's super reasonable for non-functional stuff to have a bit lower priority, just happy to help 😄!

Licensing is a great question.

I think it's a difficult one, because it's not only a mascot but also a logo. That makes it a bit harder, because it is more similar to a "stamp of approval".

Maybe we should make 2 versions:

That way people can use the mascot however they like, but they can't use the logo to pretend that they have official PyO3 project endorsement.

somethingelseentirely commented 2 months ago

I build a worst case 16x16px variant as pixel art: 16x16 16x16noscale

I don't think that the scales harm the design, but actually help balance it a bit (look at the design after downloading it though, because most browsers blur small images like that).

somethingelseentirely commented 2 months ago

Here's a 32x32 version. I think everything biger can be downsampled from the vector.

py3o_32x32