Giter Site home page Giter Site logo

teamyukki / yukkimusicbot Goto Github PK

View Code? Open in Web Editor NEW
1.2K 25.0 3.7K 5.66 MB

Telegram Group Calls Streaming bot with some useful features, written in Python with Pyrogram and Py-Tgcalls. Supporting platforms like Youtube, Spotify, Resso, AppleMusic, Soundcloud and M3u8 Links.

Home Page: https://Yukki.tech

License: MIT License

Dockerfile 0.07% Python 99.03% Shell 0.90%
yukkimusicbot yukki telegram telegram-bot python bot music bots telegram-music-bot telegram-musicbot

yukkimusicbot's Introduction

Yukki Music Bot RELEASE

Yukki Music Bot is a Powerful Telegram Music+Video Bot written in Python using Pyrogram and Py-Tgcalls by which you can stream songs, video and even live streams in your group calls via various sources.

  • Youtube, Soundcloud, Apple Music, Spotify, Resso, Live Streams and Telegram Audios & Videos support.
  • Written from scratch, making it stable and less crashes with attractive thumbnails.
  • Loop, Seek, Shuffle, Specific Skip, Playlists etc support
  • Multi-Language support

⚡️ Getting Started [Documentation]

The official documentation site contains a lot of information. The best place to start is from the deployment section.

⚠️ Heroku / Okteto / Railway

We have temporarily disabled the deployment for all these cloud service platforms due to security and ban issues. We don't want innocent users who sign up there to be banned from the platform as a result of this deployment. Read More

🖇 Generating Pyrogram String Session

🖇 VPS Deployment

Checkout Docs for Detailed Explanation on VPS Deploy

🏷 Support / Assistance

Reach out to the maintainer at one of the following places:

If you want to say thank you or/and support active development of YukkiMusicBot:

  • Add a GitHub Star to the project.
  • Fork the Repo :)
  • Write interesting articles about the project on Dev.to, Medium or your personal blog.

Together, we can make YukkiMusicBot better!

📑 Acknowledgement / Credits

Special thanks to these amazing projects/people which/who help power Yukki Music Bot:

Reminder that you are great, you are enough, and your presence is valued. If you are struggling with your mental health, please reach out to someone you love and consult a professional.

yukkimusicbot's People

Contributors

aksr-aashish avatar ali-frh avatar annihilatorrrr avatar aryazakaria01 avatar aryza23 avatar avikatrivedi avatar axrav avatar azim-azizov avatar chankitsaini avatar guddu7866 avatar honestlybroke avatar itz-zaid avatar jayantkageri avatar jokokendi avatar kalanakt avatar kebablord avatar lemonawa avatar notreallyshikhar avatar pranav-saraswat avatar pratheekxd avatar snehashish06 avatar sorrybabe avatar surajx21 avatar techshreyash avatar thehamkercat avatar tofikdn avatar ubaynet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yukkimusicbot's Issues

Unknown escape character

Bot suddenly wasnt able to start due to unknown escape character that has been merged in the latest commit as this issue was reported

Expected behavior

  • Bot should work just fine

Current behavior

  • Cannot be started due to lastest merge that got breaking changes

Screenshot [ Optional ]

  • N/A

Possible reasons and solutions [ Optional ]

  • Fix ./strings/langs/kn.yml line 192 uknown escape character and for better, please do not merge breaking changes into production branch

Context

  • It probably affects all users that are using the main repo as the update repo for the bot

Custom values [Optional]

  • N/A

Your environment

  • N/A

Stack trace

  • Include stack trace of the logs/console.

Checklist

Go over all the following points, and put an x in all the boxes that apply.

  • I searched the current issues and the issue is not known.
  • I searched on Google, Steam, YouTube, Reddit and there's no fix.
  • I am mostly sure that the problem is related to the project and isn't my fault.

Not streaming?

Sometimes, when the assistant joins the chat for the first time, the requested music is not streamed.One needs to send one more stream request to stream music, probably this is related to joining of assistant to the group and playing isnt properly working.

String

How to get string string site in telegram not working

support:

PeerIDUnavailable on google cloud hosting how to fix? and Bot Only Working In Logs Group

feat: multiple owner id

Feature Request

Describe the Feature Request
Some of us have multiple Telegram accounts. It would be great to manage the bot using only one of the accounts, instead of switching to specific account.

Describe Preferred Solution
Can put more than one IDs in the env file.

support: What the Spotify Redirect URI should be

Support Question

Because spotify for developers requires me to fill a Redirect URI

I checked the doc and saw nothing about Redirect URI

I tried using open.spotify.com but it doesn't seem to work

Mar 30 14:53:01 instance-20230317-2007 bash[157700]: Traceback (most recent call last):
Mar 30 14:53:01 instance-20230317-2007 bash[157700]:   File "/usr/lib/python3.8/runpy.py", line 185, in _run_module_as_main
Mar 30 14:53:01 instance-20230317-2007 bash[157700]:     mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
Mar 30 14:53:01 instance-20230317-2007 bash[157700]:   File "/usr/lib/python3.8/runpy.py", line 144, in _get_module_details
Mar 30 14:53:01 instance-20230317-2007 bash[157700]:     return _get_module_details(pkg_main_name, error)
Mar 30 14:53:01 instance-20230317-2007 bash[157700]:   File "/usr/lib/python3.8/runpy.py", line 111, in _get_module_details
Mar 30 14:53:01 instance-20230317-2007 bash[157700]:     __import__(pkg_name)
Mar 30 14:53:01 instance-20230317-2007 bash[157700]:   File "/root/YukkiMusicBot/YukkiMusic/__init__.py", line 43, in <module>
Mar 30 14:53:01 instance-20230317-2007 bash[157700]:     Spotify = SpotifyAPI()
Mar 30 14:53:01 instance-20230317-2007 bash[157700]:   File "/root/YukkiMusicBot/YukkiMusic/platforms/Spotify.py", line 30, in __init__
Mar 30 14:53:01 instance-20230317-2007 bash[157700]:     self.spotify = spotipy.Spotify(
Mar 30 14:53:01 instance-20230317-2007 bash[157700]:   File "/usr/local/lib/python3.8/dist-packages/spotipy/client.py", line 190, in __init__
Mar 30 14:53:01 instance-20230317-2007 bash[157700]:     self._build_session()
Mar 30 14:53:01 instance-20230317-2007 bash[157700]:   File "/usr/local/lib/python3.8/dist-packages/spotipy/client.py", line 217, in _build_session
Mar 30 14:53:01 instance-20230317-2007 bash[157700]:     retry = urllib3.Retry(
Mar 30 14:53:01 instance-20230317-2007 bash[157700]: TypeError: __init__() got an unexpected keyword argument 'allowed_methods'

Takedown Request for Railway Button

Railway does not allow Music bots on the platform due to DMCA streaming rights

We don't want innocent users who sign up to be banned from the platform as a result of this deployment

New Fork create

Provide a general summary of the issue in the Title above.

Expected behavior

  • Tell us what should happen.

Current behavior

  • Tell us what happens instead of the expected behavior.

Screenshot [ Optional ]

  • Make a screenshot to help us understand the context more clearly.

Possible reasons and solutions [ Optional ]

  • Suggest a fix/reason for the bug.

Context

  • How has this issue affected you? How it appeared? What are you trying to accomplish?
  • Providing context helps us come up with a solution that is most useful in the real world.

Custom values [Optional]

  • Modified any values? Added any new commands? Tweaked anything?

Your environment

  • Include as many relevant details about your environment.

Stack trace

  • Include stack trace of the logs/console.

Checklist

Go over all the following points, and put an x in all the boxes that apply.

  • I searched the current issues and the issue is not known.
  • I searched on Google, Steam, YouTube, Reddit and there's no fix.
  • I am mostly sure that the problem is related to the project and isn't my fault.

Pyrogram 2.0

Need for Pyrogram 2.0 now for better speed and stability

feat:

Feature Request

Describe the Feature Request

Describe Preferred Solution

Describe Alternatives

Related Code

Additional Context

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

  • Yes
  • No

Danger

Provide a general summary of the issue in the Title above.

Expected behavior

  • Tell us what should happen.

Current behavior

  • Tell us what happens instead of the expected behavior.

Screenshot [ Optional ]

  • Make a screenshot to help us understand the context more clearly.

Possible reasons and solutions [ Optional ]

  • Suggest a fix/reason for the bug.

Context

  • How has this issue affected you? How it appeared? What are you trying to accomplish?
  • Providing context helps us come up with a solution that is most useful in the real world.

Custom values [Optional]

  • Modified any values? Added any new commands? Tweaked anything?

Your environment

  • Include as many relevant details about your environment.

Stack trace

  • Include stack trace of the logs/console.

Checklist

Go over all the following points, and put an x in all the boxes that apply.

  • I searched the current issues and the issue is not known.
  • I searched on Google, Steam, YouTube, Reddit and there's no fix.
  • I am mostly sure that the problem is related to the project and isn't my fault.

Support for Okteto Cloud

Now all vars are mandatory, right?

Everyone have to fill these vars? Isn't?

Deploying on Okteto Cloud is too long now, it should be very easy to deploy so that someone who has very little knowledge can also deploy.

Readme to be fixed

In your Readme you have used @MacBook but you are using apt as the package manager while giving commands, afaik apt isnt the default package manager for macbook, I guess that is something to be fixed.

Streaming but no sound

The installation process went normally, there was no error, when deploying it was the same, but when streaming the sound was not there, even though the streaming was running, and the voice chat was also on and I had joined.

feat:

Feature Request

Describe the Feature Request

Describe Preferred Solution

Describe Alternatives

Related Code

Additional Context

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

  • Yes
  • No

your support is locked so reporting here

10, in convert
out = path.basename(file_path)
File "/usr/lib/python3.8/posixpath.py", line 142, in basename
p = os.fspath(p)
TypeError: expected str, bytes or os.PathLike object, not NoneType

sqlite3.OperationalError: database is locked

Provide a general summary of the issue in the Title above.

Expected behavior

  • Tell us what should happen.

Current behavior

  • Tell us what happens instead of the expected behavior.

Screenshot [ Optional ]

  • Make a screenshot to help us understand the context more clearly.

Possible reasons and solutions [ Optional ]

  • Suggest a fix/reason for the bug.

Context

  • How has this issue affected you? How it appeared? What are you trying to accomplish?
  • Providing context helps us come up with a solution that is most useful in the real world.

Custom values [Optional]

  • NO

Your environment

*ARM DEBIAN 11

Stack trace

  • Include stack trace of the logs/console.

Checklist

Go over all the following points, and put an x in all the boxes that apply.

  • I searched the current issues and the issue is not known.
  • I searched on Google, Steam, YouTube, Reddit and there's no fix.
  • I am mostly sure that the problem is related to the project and isn't my fault.
    image

struct.error

Build

git clone https://github.com/TeamYukki/YukkiMusicBot.git
cd YukkiMusicBot
cp sample.env .env
nano .env # and configuration
docker build . -t yukki
docker run yukki

Run

[08-Oct-22 10:17:34 - INFO] - YukkiMusic.core.dir - Directories Updated.
[08-Oct-22 10:17:34 - INFO] - YukkiMusic.core.git - Git Client Found [VPS DEPLOYER]
[08-Oct-22 10:17:34 - INFO] - YukkiMusic.misc - Database Initialized.
[08-Oct-22 10:17:36 - INFO] - YukkiMusic.misc - Sudoers Loaded.
[08-Oct-22 10:17:36 - INFO] - YukkiMusic.core.bot - Starting Bot
[08-Oct-22 10:17:37 - WARNING] - YukkiMusic - No Spotify Vars defined. Your bot won't be able to play spotify queries.
[08-Oct-22 10:17:42 - INFO] - YukkiMusic.core.bot - MusicBot Started as Yukki Test
[08-Oct-22 10:17:42 - INFO] - Yukkimusic.plugins - Successfully Imported Modules 
[08-Oct-22 10:17:42 - INFO] - YukkiMusic.core.userbot - Starting Assistant Clients

Error

Traceback (most recent call last):
   File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
      return _run_code(code, main_globals, None,
   File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
      exec(code, run_globals)
   File "/app/YukkiMusic/__main__.py", line 80, in <module>
      loop.run_until_complete(init())
   File "/usr/local/lib/python3.9/asyncio/base_events.py", line 647, in run_until_complete
      return future.result()
   File "/app/YukkiMusic/__main__.py", line 61, in init
      await userbot.start()
   File "/app/YukkiMusic/core/userbot.py", line 58, in start
      await self.one.start()
   File "/usr/local/lib/python3.9/site-packages/pyrogram/methods/utilities/start.py", line 52, in start
      is_authorized = await self.connect()
   File "/usr/local/lib/python3.9/site-packages/pyrogram/methods/auth/connect.py", line 39, in connect
      await self.load_session()
   File "/usr/local/lib/python3.9/site-packages/pyrogram/client.py", line 674, in load_session
      await self.storage.open()
   File "/usr/local/lib/python3.9/site-packages/pyrogram/storage/memory_storage.py", line 38, in open
      dc_id, test_mode, auth_key, user_id, is_bot = struct.unpack(
struct.error: unpack requires a buffer of 267 bytes

Issue with Heroku

Yes Heroku Deploys arent working for a while as my website is down, I ll try to fix it asap, sorry for the inconvenience caused.
If you still want to deploy it on Heroku, Just fork the repository and use your forked repository on heroku,
I ll be fixing it in few hours

Duration

When on Loop, the duration gets added everytime the song is played again.

basically if a song of 3 minutes is played 6 times
the duration ll be 16 minutes played of 3 minutes total

writing tests

might sound boring, but its a good enough task for a beginner or intermediate python developer.
Write tests with pytest for YukkiMusicBot and follow the commit structures.The test can be a minimal and a maximal as well.

bot stops every time

Support Question

after deploying some error happens and here's the log from Heroku

2022-03-08T00:57:14.060744+00:00 app[worker.1]: [08-Mar-22 00:57:14 - INFO] - YukkiMusic.core.dir - Directories Updated.
2022-03-08T00:57:18.455958+00:00 app[worker.1]: [08-Mar-22 00:57:18 - INFO] - YukkiMusic.core.git - Fetched Updates from: https://github.com/misershaad/YukkiMusicBot
2022-03-08T00:57:18.456271+00:00 app[worker.1]: [08-Mar-22 00:57:18 - INFO] - YukkiMusic.misc - Database Initialized.
2022-03-08T00:57:18.618144+00:00 app[worker.1]: [08-Mar-22 00:57:18 - INFO] - YukkiMusic.misc - Heroku App Configured
2022-03-08T00:57:20.315540+00:00 app[worker.1]: [08-Mar-22 00:57:20 - INFO] - YukkiMusic.misc - Sudoers Loaded.
2022-03-08T00:57:20.318308+00:00 app[worker.1]: [08-Mar-22 00:57:20 - INFO] - YukkiMusic.core.bot - Starting Bot
2022-03-08T00:57:21.941127+00:00 app[worker.1]: [08-Mar-22 00:57:21 - WARNING] - YukkiMusic - No Spotify Vars defined. Your bot won't be able to play spotify queries.
2022-03-08T00:57:32.671046+00:00 app[worker.1]: [08-Mar-22 00:57:32 - INFO] - YukkiMusic.core.bot - MusicBot Started as Greninja User
2022-03-08T00:57:32.877755+00:00 app[worker.1]: [08-Mar-22 00:57:32 - INFO] - Yukkimusic.plugins - Successfully Imported Modules
2022-03-08T00:57:32.877965+00:00 app[worker.1]: [08-Mar-22 00:57:32 - INFO] - YukkiMusic.core.userbot - Starting Assistant Clients
2022-03-08T00:57:35.988146+00:00 app[worker.1]: [08-Mar-22 00:57:35 - INFO] - YukkiMusic.core.userbot - Assistant Started as Greninja User
2022-03-08T00:57:35.988381+00:00 app[worker.1]: [08-Mar-22 00:57:35 - INFO] - YukkiMusic.core.call - Starting PyTgCalls Client
2022-03-08T00:57:35.988382+00:00 app[worker.1]:
2022-03-08T00:57:39.695737+00:00 app[worker.1]: [08-Mar-22 00:57:39 - ERROR] - YukkiMusic - [ERROR] -
2022-03-08T00:57:39.695746+00:00 app[worker.1]:
2022-03-08T00:57:39.695747+00:00 app[worker.1]: Please turn on your Logger Group's Voice Call. Make sure you never close/end voice call in your log group
2022-03-08T00:57:40.157391+00:00 app[worker.1]: PyTgCalls v0.8.6, Copyright (C) 2021-2022 Laky-64 https://github.com/Laky-64
2022-03-08T00:57:40.157399+00:00 app[worker.1]: Licensed under the terms of the GNU Lesser General Public License v3 or later (LGPLv3+)
2022-03-08T00:57:40.157400+00:00 app[worker.1]:
2022-03-08T00:57:40.157400+00:00 app[worker.1]: �[32m [5244246849] Started Node.js core! �[0m
2022-03-08T00:57:40.952714+00:00 heroku[worker.1]: State changed from up to crashed
2022-03-08T00:57:40.963225+00:00 heroku[worker.1]: State changed from crashed to starting
2022-03-08T00:57:40.822257+00:00 heroku[worker.1]: Process exited with status 0
2022-03-08T00:57:58.741540+00:00 heroku[worker.1]: Starting process with command /bin/sh -c bash\ start
2022-03-08T00:57:59.386158+00:00 heroku[worker.1]: State changed from starting to up
2022-03-08T00:58:00.542137+00:00 app[worker.1]: [08-Mar-22 00:58:00 - INFO] - YukkiMusic.core.dir - Directories Updated.
2022-03-08T00:58:02.452636+00:00 app[worker.1]: [08-Mar-22 00:58:02 - INFO] - YukkiMusic.core.git - Fetched Updates from: https://github.com/misershaad/YukkiMusicBot
2022-03-08T00:58:02.452745+00:00 app[worker.1]: [08-Mar-22 00:58:02 - INFO] - YukkiMusic.misc - Database Initialized.
2022-03-08T00:58:02.590180+00:00 app[worker.1]: [08-Mar-22 00:58:02 - INFO] - YukkiMusic.misc - Heroku App Configured
2022-03-08T00:58:03.913001+00:00 app[worker.1]: [08-Mar-22 00:58:03 - INFO] - YukkiMusic.misc - Sudoers Loaded.
2022-03-08T00:58:03.913144+00:00 app[worker.1]: [08-Mar-22 00:58:03 - INFO] - YukkiMusic.core.bot - Starting Bot
2022-03-08T00:58:04.570114+00:00 app[worker.1]: [08-Mar-22 00:58:04 - WARNING] - YukkiMusic - No Spotify Vars defined. Your bot won't be able to play spotify queries.
2022-03-08T00:58:13.928192+00:00 app[worker.1]: [08-Mar-22 00:58:13 - INFO] - YukkiMusic.core.bot - MusicBot Started as Greninja User
2022-03-08T00:58:14.003532+00:00 app[worker.1]: [08-Mar-22 00:58:14 - INFO] - Yukkimusic.plugins - Successfully Imported Modules
2022-03-08T00:58:14.003651+00:00 app[worker.1]: [08-Mar-22 00:58:14 - INFO] - YukkiMusic.core.userbot - Starting Assistant Clients
2022-03-08T00:58:16.760541+00:00 app[worker.1]: [08-Mar-22 00:58:16 - INFO] - YukkiMusic.core.userbot - Assistant Started as Greninja User
2022-03-08T00:58:16.760727+00:00 app[worker.1]: [08-Mar-22 00:58:16 - INFO] - YukkiMusic.core.call - Starting PyTgCalls Client
2022-03-08T00:58:16.760728+00:00 app[worker.1]:
2022-03-08T00:58:19.983171+00:00 app[worker.1]: [08-Mar-22 00:58:19 - ERROR] - YukkiMusic - [ERROR] -
2022-03-08T00:58:19.983181+00:00 app[worker.1]:
2022-03-08T00:58:19.983182+00:00 app[worker.1]: Please turn on your Logger Group's Voice Call. Make sure you never close/end voice call in your log group
2022-03-08T00:58:20.474525+00:00 app[worker.1]: PyTgCalls v0.8.6, Copyright (C) 2021-2022 Laky-64 https://github.com/Laky-64
2022-03-08T00:58:20.474539+00:00 app[worker.1]: Licensed under the terms of the GNU Lesser General Public License v3 or later (LGPLv3+)
2022-03-08T00:58:20.474539+00:00 app[worker.1]:
2022-03-08T00:58:20.474540+00:00 app[worker.1]: �[32m [5244246849] Started Node.js core! �[0m
2022-03-08T00:58:20.847300+00:00 heroku[worker.1]: Process exited with status 0
2022-03-08T00:58:20.904509+00:00 heroku[worker.1]: State changed from up to crashed

Cannot change the font file(cannot display Chinese)

Provide a general summary of the issue in the Title above.

Expected behavior

  • Tell us what should happen.
    I can use my new font(because the old font cannot display Chinese)

Current behavior

  • Tell us what happens instead of the expected behavior.
    The font is still the same(cannot display Chinese)

Screenshot [ Optional ]

  • Make a screenshot to help us understand the context more clearly.
    图片

Possible reasons and solutions [ Optional ]

  • Suggest a fix/reason for the bug.

Context

  • How has this issue affected you? How it appeared? What are you trying to accomplish?
  • Providing context helps us come up with a solution that is most useful in the real world.
    I want to display Chinese, so i changed the font file, but it didn't work

Custom values [Optional]

  • Modified any values? Added any new commands? Tweaked anything?

Your environment

  • Include as many relevant details about your environment.
OS: Ubuntu 20.04.4 LTS x86_64 
Host: Virtual Machine Hyper-V UEFI Release v4.1 
Kernel: 5.15.0-1014-azure
CPU: Intel Xeon Platinum 8171M (1) @ 2.095GHz 
Memory: 665MiB / 905MiB

Stack trace

  • Include stack trace of the logs/console.
    none

Checklist

Go over all the following points, and put an x in all the boxes that apply.

  • [Y] I searched the current issues and the issue is not known.
  • [Y] I searched on Google, Steam, YouTube, Reddit and there's no fix.
  • [Y] I am mostly sure that the problem is related to the project and isn't my fault.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.