Code Monkey home page Code Monkey logo

Comments (3)

yoshi-automation avatar yoshi-automation commented on July 28, 2024

Autosynth is still having trouble generating nodejs-media-translation. 😭

Here's the output from running synth.py:

b'pis.\n2020-06-05 10:25:52,749 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\nDEBUG:synthtool:Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\n2020-06-05 10:25:52,752 synthtool [DEBUG] > Pulling Docker image: gapic-generator-typescript:latest\nDEBUG:synthtool:Pulling Docker image: gapic-generator-typescript:latest\nlatest: Pulling from gapic-images/gapic-generator-typescript\nDigest: sha256:c9bc12024eddcfb94501627ff5b3ea302370995e9a2c9cde6b3317375d7e7b66\nStatus: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest\n2020-06-05 10:25:53,719 synthtool [DEBUG] > Generating code for: google/cloud/mediatranslation/v1beta1.\nDEBUG:synthtool:Generating code for: google/cloud/mediatranslation/v1beta1.\n2020-06-05 10:25:54,663 synthtool [DEBUG] > Wrote metadata to synth.metadata.\nDEBUG:synthtool:Wrote metadata to synth.metadata.\nTraceback (most recent call last):\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main\n    "__main__", mod_spec)\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code\n    exec(code, run_globals)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>\n    main()\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__\n    return self.main(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main\n    rv = self.invoke(ctx)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke\n    return ctx.invoke(self.callback, **ctx.params)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke\n    return callback(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main\n    spec.loader.exec_module(synth_module)  # type: ignore\n  File "<frozen importlib._bootstrap_external>", line 678, in exec_module\n  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed\n  File "/home/kbuilder/.cache/synthtool/nodejs-media-translation/synth.py", line 39, in <module>\n    version=version)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 66, in typescript_library\n    return self._generate_code(service, version, "typescript", **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 195, in _generate_code\n    f"Code generation seemed to succeed, but {output_dir} is empty."\nRuntimeError: Code generation seemed to succeed, but /tmpfs/tmp/tmpf2udcjeq is empty.\n2020-06-05 10:25:54,711 autosynth [ERROR] > Synthesis failed\n2020-06-05 10:25:54,711 autosynth [DEBUG] > Running: git reset --hard HEAD\nHEAD is now at 6c52ff1 chore: release 2.1.0 (#27)\n2020-06-05 10:25:54,716 autosynth [DEBUG] > Running: git checkout autosynth-self\nSwitched to branch \'autosynth-self\'\n2020-06-05 10:25:54,721 autosynth [ERROR] > Command \'[\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\' returned non-zero exit status 1.\n2020-06-05 10:25:54,852 autosynth [DEBUG] > Running: git checkout 6c52ff11511648eaa1fb10f647c9e369dea57cf9\nNote: checking out \'6c52ff11511648eaa1fb10f647c9e369dea57cf9\'.\n\nYou are in \'detached HEAD\' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by performing another checkout.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -b with the checkout command again. Example:\n\n  git checkout -b <new-branch-name>\n\nHEAD is now at 6c52ff1 chore: release 2.1.0 (#27)\n2020-06-05 10:25:54,857 autosynth [DEBUG] > Running: git checkout d53a5b45c46920932dbe7d0a95e10d8b58933dae\nPrevious HEAD position was be74d3e build: do not fail builds on codecov errors (#528)\nHEAD is now at d53a5b4 docs: improve README (#600)\n2020-06-05 10:25:54,874 autosynth [DEBUG] > Running: git checkout cd804bab06e46dd1a4f16c32155fd3cddb931b52\nPrevious HEAD position was 83816bb3 Add kokoro-specific .bazelrc file with arguments specific only for kokoro environments. This is to fix autosynth builds when it tries building older commits.\nHEAD is now at cd804bab docs: cleaned docs for the Agents service and resource.\n2020-06-05 10:25:54,946 autosynth [DEBUG] > Running: git branch -f autosynth-119\n2020-06-05 10:25:54,950 autosynth [DEBUG] > Running: git checkout autosynth-119\nSwitched to branch \'autosynth-119\'\n2020-06-05 10:25:54,955 autosynth [INFO] > Running synthtool\n2020-06-05 10:25:54,955 autosynth [INFO] > [\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\n2020-06-05 10:25:54,957 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --\n2020-06-05 10:25:55,188 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/nodejs-media-translation/synth.py.\nOn branch autosynth-119\nnothing to commit, working tree clean\n2020-06-05 10:25:55,334 synthtool [DEBUG] > Ensuring dependencies.\nDEBUG:synthtool:Ensuring dependencies.\n2020-06-05 10:25:55,340 synthtool [DEBUG] > Cloning googleapis.\nDEBUG:synthtool:Cloning googleapis.\n2020-06-05 10:25:55,341 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\nDEBUG:synthtool:Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\n2020-06-05 10:25:55,345 synthtool [DEBUG] > Pulling Docker image: gapic-generator-typescript:latest\nDEBUG:synthtool:Pulling Docker image: gapic-generator-typescript:latest\nlatest: Pulling from gapic-images/gapic-generator-typescript\nDigest: sha256:c9bc12024eddcfb94501627ff5b3ea302370995e9a2c9cde6b3317375d7e7b66\nStatus: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest\n2020-06-05 10:25:56,304 synthtool [DEBUG] > Generating code for: google/cloud/mediatranslation/v1beta1.\nDEBUG:synthtool:Generating code for: google/cloud/mediatranslation/v1beta1.\n2020-06-05 10:25:57,200 synthtool [DEBUG] > Wrote metadata to synth.metadata.\nDEBUG:synthtool:Wrote metadata to synth.metadata.\nTraceback (most recent call last):\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main\n    "__main__", mod_spec)\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code\n    exec(code, run_globals)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>\n    main()\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__\n    return self.main(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main\n    rv = self.invoke(ctx)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke\n    return ctx.invoke(self.callback, **ctx.params)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke\n    return callback(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main\n    spec.loader.exec_module(synth_module)  # type: ignore\n  File "<frozen importlib._bootstrap_external>", line 678, in exec_module\n  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed\n  File "/home/kbuilder/.cache/synthtool/nodejs-media-translation/synth.py", line 39, in <module>\n    version=version)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 66, in typescript_library\n    return self._generate_code(service, version, "typescript", **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 195, in _generate_code\n    f"Code generation seemed to succeed, but {output_dir} is empty."\nRuntimeError: Code generation seemed to succeed, but /tmpfs/tmp/tmp91mu005d is empty.\n2020-06-05 10:25:57,246 autosynth [ERROR] > Synthesis failed\n2020-06-05 10:25:57,246 autosynth [DEBUG] > Running: git reset --hard HEAD\nHEAD is now at 6c52ff1 chore: release 2.1.0 (#27)\n2020-06-05 10:25:57,251 autosynth [DEBUG] > Running: git checkout autosynth\nSwitched to branch \'autosynth\'\n2020-06-05 10:25:57,256 autosynth [DEBUG] > Running: git clean -fdx\nRemoving __pycache__/\nTraceback (most recent call last):\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main\n    "__main__", mod_spec)\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code\n    exec(code, run_globals)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 615, in <module>\n    main()\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 476, in main\n    return _inner_main(temp_dir)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 595, in _inner_main\n    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 371, in synthesize_loop\n    synthesize_inner_loop(toolbox, synthesizer)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 381, in synthesize_inner_loop\n    synthesizer, len(toolbox.versions) - 1\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 266, in synthesize_version_in_new_branch\n    synthesizer.synthesize(synth_log_path, self.environ)\n  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 119, in synthesize\n    synth_proc.check_returncode()  # Raise an exception.\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode\n    self.stderr)\nsubprocess.CalledProcessError: Command \'[\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\' returned non-zero exit status 1.\n'

Google internal developers can see the full log here.

from nodejs-media-translation.

yoshi-automation avatar yoshi-automation commented on July 28, 2024

Autosynth is still having trouble generating nodejs-media-translation. 😭

Here's the output from running synth.py:

l/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/kbuilder/.cache/synthtool/nodejs-media-translation/synth.py", line 39, in <module>
    version=version)
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 66, in typescript_library
    return self._generate_code(service, version, "typescript", **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 195, in _generate_code
    f"Code generation seemed to succeed, but {output_dir} is empty."
RuntimeError: Code generation seemed to succeed, but /tmpfs/tmp/tmp983h_1rp is empty.
2020-06-05 15:51:43,488 autosynth [ERROR] > Synthesis failed
2020-06-05 15:51:43,488 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 6c52ff1 chore: release 2.1.0 (#27)
2020-06-05 15:51:43,493 autosynth [DEBUG] > Running: git checkout autosynth-self
Switched to branch 'autosynth-self'
2020-06-05 15:51:43,497 autosynth [ERROR] > Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.
2020-06-05 15:51:43,631 autosynth [DEBUG] > Running: git checkout 6c52ff11511648eaa1fb10f647c9e369dea57cf9
Note: checking out '6c52ff11511648eaa1fb10f647c9e369dea57cf9'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 6c52ff1 chore: release 2.1.0 (#27)
2020-06-05 15:51:43,636 autosynth [DEBUG] > Running: git checkout 9c2913e1831eb00fa01317f3fea4ce25d3f657eb
Previous HEAD position was be74d3e build: do not fail builds on codecov errors (#528)
HEAD is now at 9c2913e feat: show output from microgenerator runs (#575)
2020-06-05 15:51:43,652 autosynth [DEBUG] > Running: git checkout 40a354b0f47454be4986f9db504cca4d4371c8c3
Previous HEAD position was 83816bb3 Add kokoro-specific .bazelrc file with arguments specific only for kokoro environments. This is to fix autosynth builds when it tries building older commits.
HEAD is now at 40a354b0 chore: add protoc proto3_optional flag in bazelrc
2020-06-05 15:51:43,721 autosynth [DEBUG] > Running: git branch -f autosynth-126
2020-06-05 15:51:43,725 autosynth [DEBUG] > Running: git checkout autosynth-126
Switched to branch 'autosynth-126'
2020-06-05 15:51:43,729 autosynth [INFO] > Running synthtool
2020-06-05 15:51:43,729 autosynth [INFO] > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
2020-06-05 15:51:43,731 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --
2020-06-05 15:51:43,947 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/nodejs-media-translation/synth.py.
On branch autosynth-126
nothing to commit, working tree clean
2020-06-05 15:51:44,083 synthtool [DEBUG] > Ensuring dependencies.
DEBUG:synthtool:Ensuring dependencies.
2020-06-05 15:51:44,088 synthtool [DEBUG] > Cloning googleapis.
DEBUG:synthtool:Cloning googleapis.
2020-06-05 15:51:44,089 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis
DEBUG:synthtool:Using precloned repo /home/kbuilder/.cache/synthtool/googleapis
2020-06-05 15:51:44,092 synthtool [DEBUG] > Pulling Docker image: gapic-generator-typescript:latest
DEBUG:synthtool:Pulling Docker image: gapic-generator-typescript:latest
latest: Pulling from gapic-images/gapic-generator-typescript
Digest: sha256:c9bc12024eddcfb94501627ff5b3ea302370995e9a2c9cde6b3317375d7e7b66
Status: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest
2020-06-05 15:51:44,977 synthtool [DEBUG] > Generating code for: google/cloud/mediatranslation/v1beta1.
DEBUG:synthtool:Generating code for: google/cloud/mediatranslation/v1beta1.
gapic-generator-typescript: https://github.com/googleapis/gapic-generator-typescript
Latest commit: 
commit a858a371e225254fca1c32d8d6b142b42cb711ad
Author: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Date:   Thu Jun 4 16:54:54 2020 -0700

child_process.js:642
    throw err;
    ^

Error: spawnSync protoc EACCES
    at Object.spawnSync (internal/child_process.js:1041:20)
    at spawnSync (child_process.js:607:24)
    at Object.execFileSync (child_process.js:634:15)
    at Object.<anonymous> (/usr/local/lib/node_modules/@google-cloud/gapic-generator/build/src/gapic-generator-typescript.js:117:17)
    at Module._compile (internal/modules/cjs/loader.js:955:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
    at Module.load (internal/modules/cjs/loader.js:811:32)
    at Function.Module._load (internal/modules/cjs/loader.js:723:14)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10)
    at internal/main/run_main_module.js:17:11 {
  errno: 'EACCES',
  code: 'EACCES',
  syscall: 'spawnSync protoc',
  path: 'protoc',
  spawnargs: [
    '--plugin=protoc-gen-typescript_gapic=/usr/local/lib/node_modules/@google-cloud/gapic-generator/build/src/protoc-plugin.js',
    '--typescript_gapic_out=/out',
    '--gapic-validator_out=.',
    '--typescript_gapic_opt="grpc-service-config=google/cloud/mediatranslation/v1beta1/mediatranslation_grpc_service_config.json"',
    '--typescript_gapic_opt="package-name=@google-cloud/media-translation"',
    '--experimental_allow_proto3_optional',
    '-I/in',
    '/in/google/cloud/mediatranslation/v1beta1/media_translation.proto',
    '/in/google/cloud/common_resources.proto',
    '-I/protos/api-common-protos-master'
  ],
  error: [Circular],
  status: null,
  signal: null,
  output: null,
  pid: 17,
  stdout: null,
  stderr: null
}
2020-06-05 15:51:45,781 synthtool [DEBUG] > Wrote metadata to synth.metadata.
DEBUG:synthtool:Wrote metadata to synth.metadata.
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/kbuilder/.cache/synthtool/nodejs-media-translation/synth.py", line 39, in <module>
    version=version)
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 66, in typescript_library
    return self._generate_code(service, version, "typescript", **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 195, in _generate_code
    f"Code generation seemed to succeed, but {output_dir} is empty."
RuntimeError: Code generation seemed to succeed, but /tmpfs/tmp/tmpw5tnsx76 is empty.
2020-06-05 15:51:45,817 autosynth [ERROR] > Synthesis failed
2020-06-05 15:51:45,818 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 6c52ff1 chore: release 2.1.0 (#27)
2020-06-05 15:51:45,822 autosynth [DEBUG] > Running: git checkout autosynth
Switched to branch 'autosynth'
2020-06-05 15:51:45,826 autosynth [DEBUG] > Running: git clean -fdx
Removing __pycache__/
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 615, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 476, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 595, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 371, in synthesize_loop
    synthesize_inner_loop(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 381, in synthesize_inner_loop
    synthesizer, len(toolbox.versions) - 1
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 266, in synthesize_version_in_new_branch
    synthesizer.synthesize(synth_log_path, self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 119, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

from nodejs-media-translation.

yoshi-automation avatar yoshi-automation commented on July 28, 2024

Autosynth passed, closing! 💚

from nodejs-media-translation.

Related Issues (19)

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.