Giter VIP home page Giter VIP logo

youtubeautomation-reddit's People

Contributors

aahashemi avatar ibangedmytoaster avatar marciopmm avatar rokux9 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

youtubeautomation-reddit's Issues

Received 401 HTTP response

I get a 401 HTTP error and the script stops running.

Starting ..........

Logged in to Reddit successfully!
Traceback (most recent call last):
File "/home/por/Downloads/YouTubeAutomation-Reddit-main/main.py", line 110, in
main()
File "/home/por/Downloads/YouTubeAutomation-Reddit-main/main.py", line 19, in main
thread = reddit.get_thread(reddit=my_reddit,
File "/home/por/Downloads/YouTubeAutomation-Reddit-main/Reddit/reddit.py", line 36, in get_thread
sorted_threads = sorted(threads, key=lambda x: int(x.score), reverse=True)
File "/home/por/.local/lib/python3.10/site-packages/praw/models/listing/generator.py", line 63, in _next _
self._next_batch()
File "/home/por/.local/lib/python3.10/site-packages/praw/models/listing/generator.py", line 89, in _next_b atch
self._listing = self._reddit.get(self.url, params=self.params)
File "/home/por/.local/lib/python3.10/site-packages/praw/util/deprecate_args.py", line 43, in wrapped
return func(**dict(zip(_old_args, args)), **kwargs)
File "/home/por/.local/lib/python3.10/site-packages/praw/reddit.py", line 634, in get
return self._objectify_request(method="GET", params=params, path=path)
File "/home/por/.local/lib/python3.10/site-packages/praw/reddit.py", line 739, in _objectify_request
self.request(
File "/home/por/.local/lib/python3.10/site-packages/praw/util/deprecate_args.py", line 43, in wrapped
return func(**dict(zip(_old_args, args)), **kwargs)
File "/home/por/.local/lib/python3.10/site-packages/praw/reddit.py", line 941, in request
return self._core.request(
File "/home/por/.local/lib/python3.10/site-packages/prawcore/sessions.py", line 330, in request
return self._request_with_retries(
File "/home/por/.local/lib/python3.10/site-packages/prawcore/sessions.py", line 228, in _request_with_retr ies
response, saved_exception = self._make_request(
File "/home/por/.local/lib/python3.10/site-packages/prawcore/sessions.py", line 185, in _make_request
response = self._rate_limiter.call(
File "/home/por/.local/lib/python3.10/site-packages/prawcore/rate_limit.py", line 33, in call
kwargs["headers"] = set_header_callback()
File "/home/por/.local/lib/python3.10/site-packages/prawcore/sessions.py", line 283, in _set_header_callba ck
self._authorizer.refresh()
File "/home/por/.local/lib/python3.10/site-packages/prawcore/auth.py", line 373, in refresh
self._request_token(
File "/home/por/.local/lib/python3.10/site-packages/prawcore/auth.py", line 155, in _request_token
response = self._authenticator._post(url, **data)
File "/home/por/.local/lib/python3.10/site-packages/prawcore/auth.py", line 38, in _post
raise ResponseException(response)
prawcore.exceptions.ResponseException: received 401 HTTP response

AttributeError: module 'config' has no attribute 'load_config'

Hello, and thank you for your hard work developing this.
I have a problem, all works fine until I enable YouTube uploading, once I do that, I keep getting this error:

Moviepy - Done !
Moviepy - video ready ./Results/10hpeci.mp4
See result in the results folder!
Traceback (most recent call last):
  File "C:\Users\megami\Downloads\YouTubeAutomation-Reddit-main/Youtube/upload.py", line 17, in <module>
    my_config = config.load_config()
                ^^^^^^^^^^^^^^^^^^
AttributeError: module 'config' has no attribute 'load_config'

-------------------------------------------

Could you please tell me what to do?

Cannot work out where the problem is coming from?

Hi, thanks for the work its a great script but unfortunately i get an error right at the end.

Starting ..........

Logged in to Reddit successfully!
Chosen thread: What is the all time greatest driving song? -- Score: 25062
10 comments are chosen
Launching Headless Browser...
Screenshots downloaded Successfully.
Getting mp3 files..
Creating the final video ๐ŸŽฅ
Proc not detected
Video Will Be: 30 Seconds Long
Moviepy - Building video ./Results/10fpkg3.mp4.
MoviePy - Writing audio in 10fpkg3TEMP_MPY_wvf_snd.mp4
MoviePy - Done.                                                                      
Moviepy - Writing video ./Results/10fpkg3.mp4

t:   0%|                                   | 2/720 [00:00<01:03, 11.30it/s, now=None]Traceback (most recent call last):
  File "/home/dazeb/Documents/code/github/YouTubeAutomation-Reddit/.venv/lib/python3.10/site-packages/moviepy/video/io/ffmpeg_writer.py", line 143, in write_frame
    self.proc.stdin.write(img_array.tobytes())
BrokenPipeError: [Errno 32] Broken pipe

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/dazeb/Documents/code/github/YouTubeAutomation-Reddit/main.py", line 110, in <module>
    main()
  File "/home/dazeb/Documents/code/github/YouTubeAutomation-Reddit/main.py", line 90, in main
    make_final_video(title_audio_path=title_audio_clean_path,
  File "/home/dazeb/Documents/code/github/YouTubeAutomation-Reddit/VideoEditor/videomaker.py", line 110, in make_final_video
    final.write_videofile(
  File "<decorator-gen-60>", line 2, in write_videofile
  File "/home/dazeb/Documents/code/github/YouTubeAutomation-Reddit/.venv/lib/python3.10/site-packages/moviepy/decorators.py", line 56, in requires_duration
    return f(clip, *a, **k)
  File "<decorator-gen-59>", line 2, in write_videofile
  File "/home/dazeb/Documents/code/github/YouTubeAutomation-Reddit/.venv/lib/python3.10/site-packages/moviepy/decorators.py", line 135, in use_clip_fps_by_default
    return f(clip, *new_a, **new_kw)
  File "<decorator-gen-58>", line 2, in write_videofile
  File "/home/dazeb/Documents/code/github/YouTubeAutomation-Reddit/.venv/lib/python3.10/site-packages/moviepy/decorators.py", line 24, in convert_masks_to_RGB
    return f(clip, *a, **k)
  File "<decorator-gen-57>", line 2, in write_videofile
  File "/home/dazeb/Documents/code/github/YouTubeAutomation-Reddit/.venv/lib/python3.10/site-packages/moviepy/decorators.py", line 89, in wrapper
    return f(*new_a, **new_kw)
  File "/home/dazeb/Documents/code/github/YouTubeAutomation-Reddit/.venv/lib/python3.10/site-packages/moviepy/video/VideoClip.py", line 343, in write_videofile
    ffmpeg_write_video(
  File "/home/dazeb/Documents/code/github/YouTubeAutomation-Reddit/.venv/lib/python3.10/site-packages/moviepy/video/io/ffmpeg_writer.py", line 265, in ffmpeg_write_video
    writer.write_frame(frame)
  File "/home/dazeb/Documents/code/github/YouTubeAutomation-Reddit/.venv/lib/python3.10/site-packages/moviepy/video/io/ffmpeg_writer.py", line 196, in write_frame
    raise IOError(error)
OSError: [Errno 32] Broken pipe

MoviePy error: FFMPEG encountered the following error while writing file ./Results/10fpkg3.mp4:

 ./Results/10fpkg3.mp4: No such file or directory

Do you have any idea what may fix this?

Thank you

A retribable error occured: [Errno 110] Connection timed out

Everything else is going on perfectly the video is being generated but it is not being uploaded and shows this error
Uploading file...
A retribable error occured: [Errno 110] Connection timed out
Sleeping 1.871499 seconds and retrying...
and this keeps on going on in a loop
I have no issues with my connection and everything else on my PC is going on with perfect connection but there seems to be a problem while uploading this video.
Please help me out I am new to all this.
Thanks in advance

InvalidSignatureException

I have some issues setting up AWS, I'm getting a InvalidSignatureException and cant seem to get around it or fine resources online to figure out what the issue is.

Any tips?

Error when trying to run main.py

Starting ..........

Logged in to Reddit successfully!
Chosen thread: Whats the most fucked up thing a complete stranger has done to you? -- Score: 6486
10 comments are chosen
Launching Headless Browser...
TimeoutError: Failed to locate post content element
Getting mp3 files..
Unable to locate credentials

In my config I dont have AWS is that needed? it could be the problom
Im using Oracle Cloud Hosting
OS: Ubuntu

Error while running the script, "waiting for locator("[data-test-id="post-content"]")"

did all the instruction said to do, but im still getting this error

return await self._with_element(
File "/home/pi/.local/lib/python3.9/site-packages/playwright/_impl/_locator.py", line 101, in _with_element
handle = await self.element_handle(timeout=timeout)
File "/home/pi/.local/lib/python3.9/site-packages/playwright/_impl/_locator.py", line 285, in element_handle
handle = await self._frame.wait_for_selector(
File "/home/pi/.local/lib/python3.9/site-packages/playwright/_impl/_frame.py", line 322, in wait_for_selector
await self._channel.send("waitForSelector", locals_to_params(locals()))
File "/home/pi/.local/lib/python3.9/site-packages/playwright/_impl/_connection.py", line 44, in send
return await self._connection.wrap_api_call(
File "/home/pi/.local/lib/python3.9/site-packages/playwright/_impl/_connection.py", line 419, in wrap_api_call
return await cb()
File "/home/pi/.local/lib/python3.9/site-packages/playwright/_impl/_connection.py", line 79, in inner_send
result = next(iter(done)).result()
playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for locator("[data-test-id="post-content"]")

Error: It looks like you are using Playwright Sync API inside the asyncio loop. Please use the Async API instead.

Hello guys, When trying this repository, I encounter the following error when using the following function from main.py :
get_screenshots_of_reddit_posts(reddit_thread=thread, reddit_comments=comments, screenshot_num=1).

Any idea how to fix it ? Did you encounter it as well ?
Thanks in advance

ERROR :

Traceback (most recent call last):

File D:\ANACONDA\envs\Youtube_Faceless_Automation\lib\site-packages\spyder_kernels\py3compat.py:356 in compat_exec
exec(code, globals, locals)

File c:\users\olivi\onedrive\documents\github\youtubeautomation-reddit\main.py:112
main()

File c:\users\olivi\onedrive\documents\github\youtubeautomation-reddit\main.py:35 in main
get_screenshots_of_reddit_posts(reddit_thread=thread, reddit_comments=comments, screenshot_num=1)

File ~\OneDrive\Documents\GitHub\YouTubeAutomation-Reddit\Graphics\screenshot.py:26 in get_screenshots_of_reddit_posts
with sync_playwright() as p:

File D:\ANACONDA\envs\Youtube_Faceless_Automation\lib\site-packages\playwright\sync_api_context_manager.py:44 in enter
raise Error(

Error: It looks like you are using Playwright Sync API inside the asyncio loop.
Please use the Async API instead.

Notes :

I'm using windows. I'm using Spyder from Anaconda
System: window 10
Python version : Python 3.11.2
playwright : Version 1.29.1

Timing out on finding the post from reddit

Sometime I am getting this error when it times out and can't find the reddit post. It happens about 70% of the time

Traceback (most recent call last):
  File "/Users/amitozdeol/www/YouTubeAutomation-Reddit/main.py", line 112, in <module>
    main()
  File "/Users/amitozdeol/www/YouTubeAutomation-Reddit/main.py", line 37, in main
    get_screenshots_of_reddit_posts(reddit_thread=thread, reddit_comments=comments, screenshot_num=1)
  File "/Users/amitozdeol/www/YouTubeAutomation-Reddit/Graphics/screenshot.py", line 63, in get_screenshots_of_reddit_posts
    page.locator('[data-test-id="post-content"]').screenshot(path=postcontentpath)
  File "/opt/homebrew/lib/python3.10/site-packages/playwright/sync_api/_generated.py", line 16445, in screenshot
    self._sync(
  File "/opt/homebrew/lib/python3.10/site-packages/playwright/_impl/_sync_base.py", line 104, in _sync
    return task.result()
  File "/opt/homebrew/lib/python3.10/site-packages/playwright/_impl/_locator.py", line 479, in screenshot
    return await self._with_element(
  File "/opt/homebrew/lib/python3.10/site-packages/playwright/_impl/_locator.py", line 101, in _with_element
    handle = await self.element_handle(timeout=timeout)
  File "/opt/homebrew/lib/python3.10/site-packages/playwright/_impl/_locator.py", line 285, in element_handle
    handle = await self._frame.wait_for_selector(
  File "/opt/homebrew/lib/python3.10/site-packages/playwright/_impl/_frame.py", line 322, in wait_for_selector
    await self._channel.send("waitForSelector", locals_to_params(locals()))
  File "/opt/homebrew/lib/python3.10/site-packages/playwright/_impl/_connection.py", line 44, in send
    return await self._connection.wrap_api_call(
  File "/opt/homebrew/lib/python3.10/site-packages/playwright/_impl/_connection.py", line 419, in wrap_api_call
    return await cb()
  File "/opt/homebrew/lib/python3.10/site-packages/playwright/_impl/_connection.py", line 79, in inner_send
    result = next(iter(done)).result()
playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for locator("[data-test-id=\"post-content\"]")
============================================================

Fix for waiting for locator("id=loginUsername")

Hi, I post my trace for the error:

Logged in to Reddit successfully!
Chosen thread: What instantly ages someone? -- Score: 13375
10 comments are chosen
Launching Headless Browser...
Traceback (most recent call last):
File "/home/giuseppe/YouTubeAutomation-Reddit/main.py", line 112, in
main()
File "/home/giuseppe/YouTubeAutomation-Reddit/main.py", line 35, in main
get_screenshots_of_reddit_posts(reddit_thread=thread, reddit_comments=comments, screenshot_num=1)
File "/home/giuseppe/YouTubeAutomation-Reddit/Graphics/screenshot.py", line 62, in get_screenshots_of_reddit_posts
page.locator("id=loginUsername").fill(my_config["RedditCredential"]["username"])
File "/usr/local/lib/python3.11/dist-packages/playwright/sync_api/_generated.py", line 15305, in fill
self._sync(
File "/usr/local/lib/python3.11/dist-packages/playwright/_impl/_sync_base.py", line 104, in _sync
return task.result()
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/playwright/_impl/_locator.py", line 198, in fill
return await self._frame.fill(self._selector, strict=True, **params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/playwright/_impl/_frame.py", line 528, in fill
await self._channel.send("fill", locals_to_params(locals()))
File "/usr/local/lib/python3.11/dist-packages/playwright/_impl/_connection.py", line 44, in send
return await self._connection.wrap_api_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/playwright/_impl/_connection.py", line 419, in wrap_api_call
return await cb()
^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/playwright/_impl/_connection.py", line 79, in inner_send
result = next(iter(done)).result()
^^^^^^^^^^^^^^^^^^^^^^^^^
playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for locator("id=loginUsername")

Ideas

Hi
How I can send you new ideas how make this bot even better?
BaGRoS

line 511, in loads ret = decoder.load_line(line, currentlevel, multikey,

I've done this from scratch a few times and I keep experiencing new issues. This is the latest.

Traceback (most recent call last):
File "/opt/homebrew/lib/python3.11/site-packages/toml/decoder.py", line 511, in loads
ret = decoder.load_line(line, currentlevel, multikey,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/lib/python3.11/site-packages/toml/decoder.py", line 737, in load_line
raise ValueError("Invalid date or number")
ValueError: Invalid date or number

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/ADMN/Downloads/YTA/main.py", line 109, in
my_config = config.load_config()
^^^^^^^^^^^^^^^^^^^^
File "/Users/ADMN/Downloads/YTA/config.py", line 6, in load_config
config = toml.load(config_path)
^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/lib/python3.11/site-packages/toml/decoder.py", line 134, in load
return loads(ffile.read(), _dict, decoder)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/lib/python3.11/site-packages/toml/decoder.py", line 514, in loads
raise TomlDecodeError(str(err), original, pos)
toml.decoder.TomlDecodeError: Invalid date or number (line 45 column 1 char 1827)

Run without AWS

Is it possible to run this program without AWS and instead use a local machine such as a pc or rasp pi?

Missing LICENSE

I see you have no LICENSE file for this project. The default is copyright.

I would suggest releasing the code under the GPL-3.0-or-later or AGPL-3.0-or-later license so that others are encouraged to contribute changes back to your project.

Installation Guide

Could you please update the installation process?

Some pre requirements would be great, such as Distribution and version we could use.
I still struggle with the installation for playwright.

Thanks!

Error when running requirements.txt

When I run the pip install -r requirements.txt command I get the following error displayed in my terminal
ERROR: Could not find a version that satisfies the requirement playwright==1.29.1 ERROR: No matching distribution found for playwright==1.29.1

No Module named 'config'

Moviepy - Done !
Moviepy - video ready ./Results/10kcch3.mp4
See result in the results folder!
Traceback (most recent call last):
File "/home/pi/reddit_yt_bot/YouTubeAutomation-Reddit/./Youtube/upload.py", line 6, in
import config
ModuleNotFoundError: No module named 'config'


Hi,
so I've been making the occasional fix here and there trying to get this to work, however I can't seem to get past this hurdle.

sorry im new

im completely new to this and im having trouble with the second step. Should i be inserting this command through cmd?

Screenshot (35)

Timeout Error: waiting for locator("[data-test-id=\"post-content\"]")

Hi, ty for the script however i'm runnning into an error. Does anyone know how to fix?

Starting ..........
Logged in to Reddit successfully!
Chosen thread: What makes you not want to be intimate with your SO? -- Score: 11762
10 comments are chosen
Launching Headless Browser...
Traceback (most recent call last):
  File "C:\Users\quinc\YouTubeAutomation-Reddit\main.py", line 110, in <module>
    main()
  File "C:\Users\quinc\YouTubeAutomation-Reddit\main.py", line 35, in main
    get_screenshots_of_reddit_posts(reddit_thread=thread, reddit_comments=comments, screenshot_num=1)
  File "C:\Users\quinc\YouTubeAutomation-Reddit\Graphics\screenshot.py", line 60, in get_screenshots_of_reddit_posts
    page.locator(f'[data-test-id="post-content"]').screenshot(path=postcontentpath)
  File "C:\Users\quinc\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\playwright\sync_api\_generated.py", line 16445, in screenshot
    self._sync(
  File "C:\Users\quinc\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\playwright\_impl\_sync_base.py", line 104, in _sync
    return task.result()
  File "C:\Users\quinc\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\playwright\_impl\_locator.py", line 479, in screenshot
    return await self._with_element(
  File "C:\Users\quinc\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\playwright\_impl\_locator.py", line 101, in _with_element
    handle = await self.element_handle(timeout=timeout)
  File "C:\Users\quinc\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\playwright\_impl\_locator.py", line 285, in element_handle
    handle = await self._frame.wait_for_selector(
  File "C:\Users\quinc\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\playwright\_impl\_frame.py", line 322, in wait_for_selector
    await self._channel.send("waitForSelector", locals_to_params(locals()))
  File "C:\Users\quinc\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\playwright\_impl\_connection.py", line 44, in send
    return await self._connection.wrap_api_call(
  File "C:\Users\quinc\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\playwright\_impl\_connection.py", line 419, in wrap_api_call
    return await cb()
  File "C:\Users\quinc\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\playwright\_impl\_connection.py", line 79, in inner_send
    result = next(iter(done)).result()
playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for locator("[data-test-id=\"post-content\"]")
============================================================

Able to make video but not upload to youtube.

I get the video but when trying to upload to youtube i get "Python: can't open file '/youtube/upload.py' : [Errno 2] no such file or directory". Im a noob at this kind of stuff so any help would be appreciated!

error: unknown option '-m'

Hello,

first of all: Thanks for the great work!

Unfortunatelly i get the following error during the command:
python -m playwright install and python -m playwright install-deps
error: unknown option '-m'

Also i am in the folder i cloned the git.

Any help?

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.