Giter Site home page Giter Site logo

playsound's Introduction

playsound

Pure Python, cross platform, single function module with no dependencies for playing sounds.

Installation

Install via pip:

$ pip install playsound

Done.

If you insist on the (slightly) harder way of installing, from source, you know how to do it already and don't need my help.

The latest version of the source code can be found at: https://github.com/TaylorSMarks/playsound

Quick Start

Once you've installed, you can really quickly verified that it works with just this:

>>> from playsound import playsound
>>> playsound('/path/to/a/sound/file/you/want/to/play.mp3')

Documentation

The playsound module contains only one thing - the function (also named) playsound.

It requires one argument - the path to the file with the sound you'd like to play. This may be a local file, or a URL.

There's an optional second argument, block, which is set to True by default. Setting it to False makes the function run asynchronously.

On Windows, uses windll.winmm. WAVE and MP3 have been tested and are known to work. Other file formats may work as well.

On OS X, uses AppKit.NSSound. WAVE and MP3 have been tested and are known to work. In general, anything QuickTime can play, playsound should be able to play, for OS X.

On Linux, uses GStreamer. Known to work on Ubuntu 14.04 and ElementaryOS Loki. I expect any Linux distro with a standard gnome desktop experience should work.

If you'd like other Linux distros (or any other OS) to work, submit a PR adding in support for it, but please make sure it passes the tests (see below).

Testing

Playsound includes a small set of tests - if you're making a PR, please ensure that you have no regressions and all the tests pass on your local system. Also make sure that Travis-CI, which runs these tests against Windows Server 2016, macOS 10.11 (El Capitan, 2015) and 11.3 (Big Sur, 2020), Ubuntu 14 (Trusty), and Ubuntu 18 (Bionic), for both Python 2.7 and 3.9, fully passes. You can check the Travis-CI status for Playsound here: https://travis-ci.com/github/TaylorSMarks/playsound/builds

Copyright

This software is Copyright (c) 2021 Taylor Marks <[email protected]>.

See the bundled LICENSE file for more information.

playsound's People

Contributors

akuli avatar antfu avatar guiweber avatar hadmanysons avatar jonathangjertsen avatar numerlor avatar taylorsmarks avatar zedeldi 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

playsound's Issues

Cannot play file with unicode characters in path (OSX)

File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/playsound.py", line 67, in _playsoundOSX raise IOError('Unable to load sound named: ' + sound)

Looks to be related to NSURL. Escaping the characters in the path might make it work?

OSX Python 3.5.2 error

OS version 10.12.6
Python version: 3.5.2
playsound version 1.2.2

I installed the pyobjc library, but i still get an error when i call playsound.playsound(). There is very little information on the error.

File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/playsound.py", line 67, in _playsoundOSX
    raise IOError('Unable to load sound named: ' + sound)
OSError: Unable to load sound named: file:///Users/Username/pathtosound/sound.mp3

pyinstaller

when i use pyinstaller i get the error "no module named playsound"

Close the file handle after playing it on Windows

I believe winCommand('close "' + sound + '" alias', alias) should be added after the 38th line.

The module at its current state doesn't allow programs to play a file, remove it, save one with the same filename and repeat, unlike mp3play.

No module named 'gi'

When I run playsound this the error i get and there seem to be no package on PyPi as 'gi'

Traceback (most recent call last):
File "soundplay.py", line 6, in
playsound(filename)
File "/home/dawud/anaconda3/lib/python3.7/site-packages/playsound.py", line 91, in _playsoundNix
import gi
ModuleNotFoundError: No module named 'gi'

Media file path can't include 'blank' in jupyter notebook

If I run the code like this:

import playsound from playsound
playsound('sample-' + timestr + '.wav')

from jupyter notebook, playsound will display error: Unable fine the media file file:\\volume.....*.wav

I think that maybe we need to process the string input to the playsound.py

Error 277

playsound.PlaysoundException:
Error 277

unicodeerror on windows 10

screencopy (windows 10) :

C:\Users\Public>python
Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

from playsound import playsound
playsound('nougayork.mp3')
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\brigitte and co\AppData\Roaming\Python\Python36\site-packages\playsound.py", line 35, in _playsoundWin
winCommand('open "' + sound + '" alias', alias)
File "C:\Users\brigitte and co\AppData\Roaming\Python\Python36\site-packages\playsound.py", line 30, in winCommand
'\n ' + errorBuffer.value.decode())
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe8 in position 8: invalid continuation byte

Error While playing sound playsound.PlaysoundException: playbin.set_state returned <enum GST_STATE_CHANGE_FAILURE of type Gst.StateChangeReturn>

Traceback (most recent call last):
File "/home/kali/Documents/iantpy/sou.py", line 3, in
playsound("/home/kali/Documents/iantpy/songs/judai.mp3")
File "/home/kali/.local/lib/python3.9/site-packages/playsound.py", line 105, in _playsoundNix
raise PlaysoundException(
playsound.PlaysoundException: playbin.set_state returned

while playing my audio i'm getting this error Can someone help me with this

Doesn't work with python 3.5 under windows 10

First thing I noticed were several implicit string conversions, but even after fixing those I still get the following exception:
'The driver cannot recognize the specified command.'

Incorporating the windows code from this library (which works really well but is windows only) could be an idea. It is licensed under the Apache license according to the python package index.
https://github.com/michaelgundlach/mp3play

File finding

Hi, I have two questions.

First: Do I input the argument after playsound as a string?

e.g: 'C:\Users******\Desktop\Music File.mp3'

And second:
What do I cut off?

xxxxxxxxxxxxxx\Desktop\Music File.mp3?

Can I have osame help with how to format the playsound command?

Sincere thank-yous in advance, Bazaer.

Windows 10 IOError: [Errno 13] Permission denied

The playsound function works the first time but if you use it again it gives this error IOError: [Errno 13] Permission denied. I use gtts to save an audio file name Speak.mp3 and it saves the tts right before the playsound function

PlaysoundException: The file name is invalid

I have
Python 3.8.3 (default, Jul 2 2020, 17:30:36) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
on Windows 10.

I have installe playsound through pip.

When I try to play a sound, with as a simple filename as "sound.wav", it gives me an exception, telling the the file name is invalid:

>>> playsound("sound.wav")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Raffaele\anaconda3\lib\site-packages\playsound.py", line 35, in _playsoundWin
    winCommand('open "' + sound + '" alias', alias)
  File "C:\Users\Raffaele\anaconda3\lib\site-packages\playsound.py", line 31, in winCommand
    raise PlaysoundException(exceptionMessage)
playsound.PlaysoundException:
    Error 304 for command:
        open "sound.wav" alias playsound_0.08730632873491562
    The filename is invalid.  Make sure the filename is not longer than 8 characters, followed by a period and an extension.

Linux-Debian: getting error while invoking playsound

Hi Taylor,

My System Config:

python 3.4.2
Debian 64bit

I got the following error while invoking playsound:

Traceback (most recent call last):
File "/home/gansai/PycharmProjects/python_3.4.2/tryPlaySound.py", line 7, in
playsound('/home/gansai/Music/abc.mp3')
File "/usr/local/lib/python3.4/dist-packages/playsound.py", line 81, in _playsoundNix
from wave import open as waveOpen, AFMT_S16_LE, AFMT_S16_BE
ImportError: cannot import name 'AFMT_S16_LE'

Please let me know how I should configure ossaudiodev.

Thanks.

Attempting to use on Rasberry Pi 3: ValueError: Namespace Gst not available

I have a Rasberry Pi 3 running Raspbian GNU/Linux 9 (stretch).

I get the following error after installing playsound and trying to test following the instructions here: https://pypi.org/project/playsound/

pi@raspberrypi:~/Desktop $ python test.py
Traceback (most recent call last):
  File "test.py", line 2, in <module>
    playsound('./Desktop/DEFCON level change.mp3')
  File "/home/pi/.local/lib/python2.7/site-packages/playsound.py", line 92, in _playsoundNix
    gi.require_version('Gst', '1.0')
  File "/usr/lib/python2.7/dist-packages/gi/__init__.py", line 118, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Gst not available
pi@raspberrypi:~/Desktop $ 

I Got UnicodeDecodeError because of Turkish characters

PS : i realised that when i change folder name with non turkish characters it works
"İ" , "Ç" , "ı" characters causes error
how can i fix this ?

i got this error when using playsound

Traceback (most recent call last):
File "C:\folder1\folder2\DERS İÇİN\eklenmeye hazır olanlar\blabla v2.0\blablav2.py", line 34, in
uEfekt(a)
File "C:\folder1\folder2\DERS İÇİN\eklenmeye hazır olanlar\blabla v2.0\blablav2.py", line 31, in uEfekt
playsound(musicFile)
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\site-packages\playsound.py", line 35, in _playsoundWin
winCommand('open "' + sound + '" alias', alias)
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\site-packages\playsound.py", line 30, in winCommand
'\n ' + errorBuffer.value.decode())
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfd in position 24: invalid start byte

Gst

~ $ pip install --user playsound
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting playsound
Using cached https://files.pythonhosted.org/packages/f5/16/10d897b0a83fb4b05b03a63d7a2667ab75f857f67f7062fd447dd3f49bf7/playsound-1.2.2-py2.py3-none-any.whl
Installing collected packages: playsound
Successfully installed playsound-1.2.2

~ $ python
Python 2.7.13 (default, Sep 26 2018, 18:42:22)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.

from playsound import playsound
playsound('./example.mp3')

Traceback (most recent call last):
File "", line 1, in
File "/home/neopixel/.local/lib/python2.7/site-packages/playsound.py", line 92, in _playsoundNix
gi.require_version('Gst', '1.0')
File "/usr/lib/python2.7/dist-packages/gi/init.py", line 118, in require_version
raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Gst not available

exit()

~ $ pip uninstall playsound
Uninstalling playsound-1.2.2:
Would remove:
/home/neopixel/.local/lib/python2.7/site-packages/playsound-1.2.2.dist-info/*
/home/neopixel/.local/lib/python2.7/site-packages/playsound.py
Proceed (y/n)? Y
Successfully uninstalled playsound-1.2.2

Version

Quick question. Does this work for 3.9

Cutting off the very end of the audio on macOS

When playing a sound such as a speech, there is a noticeable clipping at the end of the audio, cutting off the last syllable.

Audio files where this is noticeable can be provided if required.

Windows MCI Gets in a bad State: "cannot specify extra characters after a string enclosed in quotation marks."

Periodically, Windows MCI gets into a bad state and just repeatedly returns the error message "cannot specify extra characters after a string enclosed in quotation marks."

I cannot find a way to reliably put MCI into this state. It seems that it most often (always?) begins when running the test testBlockingSPACE_MP3. But this isn't consistent it can sometimes run this test several times in a row without an issue. After the issue has occurred the first time, I believe the issue is cached, so that the exact command cannot be run again afterwards.

I find that sometimes it's worse than just the exact command - it seems the "bad state" ends up spreading to trying to open/play other files which are otherwise reliably okay after the initial failure.

Once the "bad state" starts, I have not found a way to fix it. It persists between restarts of Python and the command line. Restarting windows reliably fixes it. I've found that waiting some time (I'm not sure how long. Five minutes?) seems to fix the issue.

Without knowing how to reliably start or stop this issue, it's difficult to know how to test whether it's actually fixed or not. I suspect the issue stems from some combination of spaces, quotes, and parenthesis.

It's difficult to test this on Travis-CI as it doesn't actually have MCI, and so we're using mocks/patches there instead. I might try switching to GitHub actions and seeing if I can use a real MCI there.

play async on linux

    playsound (sound, False)
  File "/usr/lib/python3.8/site-packages/playsound.py", line 80, in _playsoundNix
    raise NotImplementedError(
NotImplementedError: block=False cannot be used on this platform yet

Any specific issue to support it on linux?

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 2: invalid start byte

playsound.playsound("http://dict.youdao.com/dictvoice?type=0&audio=yes")

i got
Traceback (most recent call last):
File "C:/NuanTools/py_tts/testonly.py", line 73, in
playsound.playsound("http://dict.youdao.com/dictvoice?type=0&audio=yes")
File "C:\Users\YANG.LEI\AppData\Local\Continuum\anaconda3\lib\site-packages\playsound.py", line 35, in _playsoundWin
winCommand('open "' + sound + '" alias', alias)
File "C:\Users\YANG.LEI\AppData\Local\Continuum\anaconda3\lib\site-packages\playsound.py", line 30, in winCommand
'\n ' + errorBuffer.value.decode())
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 2: invalid start byte

Python 3.6.4, playsound is the latest version installed today(14th May)

play speed

are there any options to control the playing speed with playsound ?

MacOS required PyObjC

On MacOS 10.15.3 (Catalina) trying to run a simple example using Python 3.8.2 failed with: ModuleNotFoundError: No module named 'AppKit' . More specifically:

Traceback (most recent call last):
File "/Users/myers/Documents/Pioneer-LIGO/Pioneer-LIGO-2020/slot/test_playsound.py", line 6, in
playsound.playsound("GW150914_H1_shifted.wav")
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/playsound.py", line 55, in _playsoundOSX
from AppKit import NSSound
ModuleNotFoundError: No module named 'AppKit'

A friend suggested that I use pip to install the module PyObjC, and indeed that fixed it. Since I didn't see that suggestion in the docs I wanted to mention it. A number of other things "broke" when I upgraded to Cataline (including no emacs!) so perhaps this is only a problem with the latest Mac environment.

not working with my audio jack

while using below function the audio is not playing with my audio jack. even output speaker is selected to audio jack in WINDOWS 10

playsound(path) 

pipenv support issue "ModuleNotFoundError: No module named 'gi'"

The module seems to have some issues while executing in virtual environments.
Kindly update the procedure to install the module in the virtual environments.

Source Code

from playsound import playsound
def play():
    playsound( 'Location /alert.mp3')

play()

Error Generated

 File "/home/USER/.local/share/virtualenvs/projectIdxx1-kgPXiNfM/lib/python3.7/site-packages/playsound.py", line 91, in _playsoundNix
    import gi
ModuleNotFoundError: No module named 'gi'

Windows 10 error playing with ".ogg" file

>>> playsound.playsound(os.path.join(os.getcwd(),'bark.ogg'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\Program Files\Python37-32\lib\site-packages\playsound.py", line 35, in _playsoundWin
    winCommand('open "' + sound + '" alias', alias)
  File "D:\Program Files\Python37-32\lib\site-packages\playsound.py", line 30, in winCommand
    '\n    ' + errorBuffer.value.decode())
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 2: invalid start byte

Program freezes after song finishes playing (blocking=true, window 7, temp solution included)

I'm mostly using this for Linux but when I ported my code over to windows I discovered that the program would just sit there after playing a song. I figured out that on line 37
durationInMS = winCommand('status', alias, 'length')
returns twice the length of the song in Milliseconds.
i.e. if the song is 1 minute long it will return 2 minutes worth of MS.
The short term solution is to replace 1000 with 2000 on line 41.
IDK if this is an issue with playsound or windll.winmm and if the bug is window 7 only or affects later versions as well. I'm just putting this here in case anyone else has the same issue and needs a quick fix

playsound("path_to_file.wav") causes memory leak

Hello,

I have a system that runs continuously for hours. I realized that memory usage is increasing over time and found out that removing playsound(...) calls solves the issue. When I tested calling playsound method in a while loop I saw a fast increase in memory usage over time. I am guessing this is a bug.

Problems on win7

When trying to use the modules on windows I am getting the following error when attempting to play a wav or mp3 file. Any ideas?

Traceback (most recent call last):
File "a.py", line 2, in
playsound('success.wav')
File "C:\Python35\lib\site-packages\playsound.py", line 37, in _playsoundWin
winCommand('play', alias, 'from 0 to', durationInMS)
File "C:\Python35\lib\site-packages\playsound.py", line 22, in winCommand
command = ' '.join(command).encode()
TypeError: sequence item 3: expected str instance, bytes found

Not working for python3.8

Due to platform.linux_distribution being removed from python3.8 and up, pip install playsound has stopped working

when using pip install playsound, pip returns the following error

  File "/home/eric/.local/bin/pip", line 8, in <module>
    sys.exit(main())
  File "/home/eric/.local/lib/python3.8/site-packages/pip/__init__.py", line 217, in main
    return command.main(cmd_args)
  File "/home/eric/.local/lib/python3.8/site-packages/pip/basecommand.py", line 244, in main
    with self._build_session(
  File "/home/eric/.local/lib/python3.8/site-packages/pip/basecommand.py", line 65, in _build_session
    session = PipSession(
  File "/home/eric/.local/lib/python3.8/site-packages/pip/download.py", line 316, in __init__
    self.headers["User-Agent"] = user_agent()
  File "/home/eric/.local/lib/python3.8/site-packages/pip/download.py", line 92, in user_agent
    zip(["name", "version", "id"], platform.linux_distribution()),
AttributeError: module 'platform' has no attribute 'linux_distribution'

Not working in Ubuntu 20.04/Python3 - ARM (Rock64)

Hi, creating a simple test:

Python 3.8.5 (default, Jan 27 2021, 15:41:15)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

from playsound import playsound
playsound('/home/rock64/file_example_MP3_700KB.mp3')
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.8/dist-packages/playsound.py", line 101, in _playsoundNix
playbin.props.uri = 'file://' + pathname2url(os.path.abspath(sound))
AttributeError: 'NoneType' object has no attribute 'props'

This error brings me here since I found problems in Open Assistant which uses this module to play sounds. So, I made that simple test which is the error that arises.

Any ideas?

Loop without Break

When you call the Playsound function in a program automatically the program will "stop working" but the music stills playing, and you cannot do nothing while the music is playing like a loop.

Playing to a specific device

I'm trying to play mp3 files on a raspberry pi with a DAC board installed (Seeed studio's voicecard). I might also play with bluetooth pairing. Is it possible to tell the playback to use a specific device even if it isn't set as the system default?

Python.org `python` on Mac OS X Requires `PyObjC` Library

Apple ships an old, modified version of Python with Mac OS X. Many users install upstream Python from python.org onto a Mac in order to work around old bugs.

When attempting to use playsound on Mac OS X 10.9.5 with python.org Python 2.7.12, I get the following failure:

Traceback (most recent call last):
  File "playsound.py", line 54, in _playsoundOSX
    from AppKit import NSSound
ImportError: No module named AppKit

This can be fixed by installing the PyObjC package (pip install -U PyObjC), but that pulls in a lot of compiled C modules (54 compiled .whl files on my system) and/or requires the XCode compilers.

Happily, after installing PyObjC, playsound works perfectly. But it's not quite fair to call it "Pure Python... with no dependencies" when it has C-based dependencies when using upstream Python on OS X.

Error when trying to play a sound, <enum GST_STATE_CHANGE_FAILURE of type Gst.StateChangeReturn>

I'm running ubuntu 16.04 off of a USB stick, and I'm getting the following error when I try to play a .wav file.
Traceback (most recent call last):
File "/media/sinclair/SINCLESTORE/JUNO/labelling.py", line 19, in
playsound("/SINCLESTORE/JUNO/"+audio_path)
File "/home/sinclair/.local/lib/python3.5/site-packages/playsound.py", line 106, in _playsoundNix
"playbin.set_state returned " + repr(set_result))
playsound.PlaysoundException: playbin.set_state returned
not sure what this means. Do I have to change something about my speaker configuration?

Thanks,
Sinclair

Intermittent playback of mp3 issues

I want to use playsound in a Python 3.9 application. I have 3 .mp3 files and note that these play occasionally but not all the time (the same file can work sometimes, and fail others).

For example:

playsound('path_to_audio.mp3')

can return the following error:

Error 265 for command:
        open audio/A-Tone-His_Self-1266414414.mp3
    The device name is already being used as an alias by this application.  Use a unique alias.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Mark\anaconda3\envs\deca\lib\site-packages\playsound.py", line 72, in _playsoundWin
    winCommand(u'open {}'.format(sound))
  File "C:\Users\Mark\anaconda3\envs\deca\lib\site-packages\playsound.py", line 64, in winCommand
    raise PlaysoundException(exceptionMessage)
playsound.PlaysoundException:
    Error 265 for command:
        open audio/A-Tone-His_Self-1266414414.mp3
    The device name is already being used as an alias by this application.  Use a unique alias.

When it works, this appears to be the simplest audio player available for cross-platform Python apps, so would be great if this was fixed.

Here's a link to one of my mp3 files:

https://soundbible.com/1815-A-Tone.html

macOS mojave compatity

there seems some issue with the newest macOS mojave:

File "/usr/local/lib/python3.6/site-packages/playsound.py", line 55, in _playsoundOSX
    from AppKit     import NSSound
ImportError: cannot import name 'NSSound'

Here is the error, should this be a compatible problem or my enviroment error?

Unable to delete the file after using playsound

I am trying to delete the file after calling playsound(filepath) on the file using os.remove(filepath). However, getting a permission error as follows:

PermissionError Traceback (most recent call last)
<ipython-input-183-209b55787a7c> in <module>
----> 1 os.remove('./play/sample-m1.wav')

PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: './play/sample-m1.wav'

Can we modify the function so as to close/delete the open process after playback?

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.