opengeostat / pygslib Goto Github PK
View Code? Open in Web Editor NEWGSLIB fortran code wrapped into python
License: MIT License
GSLIB fortran code wrapped into python
License: MIT License
Please can you run a build of the wheel for the Linux/Python 3.8 0.0.0.5.0.0 version. Most modern Linuxes now use 3.8 by default.
I see there is a 3.8 build for Windows.
I did try to build it locally under Fedora 32, but I'm getting all sorts of esoteric Fortran compiler errors.
Many Thanks,
see examples at https://stackoverflow.com/questions/3160699/python-progress-bar
pyevtk is broken, remove this package.
~...\site-packages\pyevtk\hl.py in gridToVTK(path, x, y, z, cellData, pointData)
153 nx, ny, nz = x.size - 1, y.size - 1, z.size - 1
154 isRect = True
--> 155 ftype = VtkRectilinearGrid
156 elif (x.ndim == 3 and y.ndim == 3 and z.ndim == 3):
157 s = x.shape
NameError: name 'VtkRectilinearGrid' is not defined
Crashes after installing geopandas. The issue is related to matplotlib (after excecuting import matplotlib.pyplot as plt
from line 37 init.py)
TODO: set vc=14.1 as a dependency
We need good sample data to run tests, and examples in doscstring. There are some options:
We like the option 2. and 3...
For some obscure reason bokeh is not included in the dependencies for pygslib conda package-python 2.7-windows64.
Update the OSX conda distribution using wheels. These are the commands for python 3.6:
git clone https://github.com/opengeostat/pygslib.git
cd pygslib
python setup.py sdist bdist_wheel
cp dist/<filename.whl> pygslib_conda/wheels/
Update file pygslib_conda/pygslib_OSX_py3.6/build.sh
pip install --no-deps /<local path to pygslib>/pygslib_conda/wheels/<filename.whl>
and build conda
cd pygslib_conda
conda build --python 3.6 pygslib_OSX_py3.6
A table with 8968882 was truncated to 4718583 records
Hello,
After installing pygslib in Acancoda, which was successful, I tried to load the pygslib module:
import pygslib
I get the following error:
Unable to revert mtime: /Library/Fonts
Traceback (most recent call last):
File "drillholes_comp.py", line 5, in
import pygslib
File "/Users/esepulveda/anaconda3/envs/crcore/lib/python2.7/site-packages/pygslib/init.py", line 32, in
import gslib
File "/Users/esepulveda/anaconda3/envs/crcore/lib/python2.7/site-packages/pygslib/gslib/init.py", line 42, in
import __gslib__kt3d
ImportError: dlopen(/Users/esepulveda/anaconda3/envs/crcore/lib/python2.7/site-packages/pygslib/gslib/__gslib__kt3d.so, 2): Library not loaded: /usr/local/gfortran/lib/libgfortran.3.dylib
Referenced from: /Users/esepulveda/anaconda3/envs/crcore/lib/python2.7/site-packages/pygslib/gslib/__gslib__kt3d.so
Reason: image not found
Apparently, there is a hardcoded reference to libgfortran. I installed libgfortran with conda, but the error is the same.
I hope you can find a solution. In the meantime, I will try to build it from sources.
Extra info is required to serialize block model and drillhole databases. Also to export to csv
Consider
"{'prop':'value'}"
in _metadata
property. Note that _metadata
is to add custom properties and is a list of strings, adding a dic brakes Pandas.The export drillhole to vtk has no automatic extension assignment (e.g. replace 'file' with 'file.vtk'). Also it is better using xml format vtp (vtk poly)
The README states:
This software may be modified and distributed under the terms of the MIT and GPL licenses.
But the LICENSE file only contains terms for MIT. Could you clarify what aspects of the library are under the GPL license as GPL can be very limiting for how this library can be used?
when running the script with import pygslib, there will be an error related with __gslib__kt3d, where the specified module couldn't be found.
File "C:\Anaconda\lib\site-packages\pygslib\gslib_init_.py", line 42, in
import __gslib__kt3d
ImportError: DLL load failed: The specified module could not be found.
ImportError Traceback (most recent call last)
~/anaconda3/envs/pygslib/lib/python3.6/site-packages/vtk/vtkIOParallel.py in
4 # use relative import for installed modules
----> 5 from .vtkIOParallelPython import *
6 except ImportError:
ImportError: dlopen(/Users/ekim/anaconda3/envs/pygslib/lib/python3.6/site-packages/vtk/vtkIOParallelPython.so, 2): Library not loaded: @rpath/libjsoncpp.11.dylib
Referenced from: /Users/ekim/anaconda3/envs/pygslib/lib/libvtkIOParallel-8.1.1.dylib
Reason: image not found
During handling of the above exception, another exception occurred:
ModuleNotFoundError Traceback (most recent call last)
in
----> 1 import pygslib
~/anaconda3/envs/pygslib/lib/python3.6/site-packages/pygslib/init.py in
24
25 # import pygslib modules (compatible with python 3x)
---> 26 from . import drillhole, blockmodel, vtktools, nonlinear, sandbox, gslib, plothtml, charttable, progress
27
28 from . import version
cython_code/drillhole.pyx in init pygslib.drillhole()
~/anaconda3/envs/pygslib/lib/python3.6/site-packages/vtk/init.py in
78 from .vtkIONetCDF import *
79 from .vtkIOPLY import *
---> 80 from .vtkIOParallel import *
81 from .vtkIOParallelXML import *
82 from .vtkIOSQL import *
~/anaconda3/envs/pygslib/lib/python3.6/site-packages/vtk/vtkIOParallel.py in
7 # during build and testing, the modules will be elsewhere,
8 # e.g. in lib directory or Release/Debug config directories
----> 9 from vtkIOParallelPython import *
ModuleNotFoundError: No module named 'vtkIOParallelPython'
Would it be possible to set up a deployment process for this library on PyPI using a continuous integration service like Travis CI?
I cannot successfully build from source and would greatly benefit to have a whl or simple installation means (Mac OS). I see linux and windows have stable conda distributions.
Additional Context:
If we could get this deployed on PyPI then I could get some feature request going on PVGeo to create an interface directly in ParaView for pygslib
. I think there could be some really awesome interoperability between PVGeo
and pygslib
.
I tried downloading the demo files but the link seems to be broken.
Thank you for the great work.
Hi, I just found your package and it looks very interesting. I was trying to wrap gslib for my research and I came across your work. Do you have any examples of calling gslib functions like kriging and sequential simulation?
I can't import de module in python 3.8
This is the output
ImportError Traceback (most recent call last)
in
----> 1 import pygslib
~\pygslib\pygslib_init_.py in
24
25 # import pygslib modules (compatible with python 3x)
---> 26 from pygslib import drillhole, blockmodel, vtktools, nonlinear, sandbox, gslib, plothtml, charttable, progress, surpac
27
28 from pygslib import version
~\pygslib\pygslib\gslib_init_.py in
40
41 #gslib fortran code
---> 42 from pygslib.gslib import __gslib__kt3d
43 from pygslib.gslib import __gslib__postik
44 from pygslib.gslib import __read_gslib
ImportError: cannot import name '_gslib__kt3d' from partially initialized module 'pygslib.gslib' (most likely due to a circular import) (C:\Users*********\pygslib\pygslib\gslib_init.py)
I am sorry but when I try mydholedb.export_core_vtk_line('CMP', 'cmp.vtk')
in the tutorial, the result is
AttributeError Traceback (most recent call last)
<ipython-input-29-09f1873a59b1> in <module>()
3 #mydholedb.export_core_vtk_line('CMP', 'cmp.vtk', nanval=0, title = '')
4 #see(mydholedb.export_core_vtk_line)
----> 5 mydholedb.export_core_vtk_line('CMP', 'cmp.vtk')
cython_code/drillhole.pyx in pygslib.drillhole.Drillhole.export_core_vtk_line (cython_code/drillhole.c:32985)()
cython_code/drillhole.pyx in pygslib.drillhole.Drillhole.export_core_vtk_line (cython_code/drillhole.c:32636)()
AttributeError: SetInputData
Problema: queda 'colas' sin compositar al final de un sondaje, cuando el largo de la cola es menor a la mitad del largo del compósito.
Creo que esto se produce porque la función 'int' redondea hacia abajo y al iterar sobre ncomp el último valor del rango no es incluido
Drillhole.pyx
593: ncomp = int(ito[-1]/cint + 1) # number of composites
624: # for each composite
625: for i in range (ncomp):
Important! in Windows you need to build the package before creating a
distribution, otherwise the DOS commands (located in setup.py
) to copy dependence *.dll will not include these *.dll into the distribution. To create the wheels you may need to run two separated commands:
python setup.py build
python setup.py sdist bdist_wheel
see this wiki page for more information
See prototype in sandbox read dxf
ValueError Traceback (most recent call last)
in ()
----> 1 mod.calc_ixyz_fromijk()
cython_code\blockmodel.pyx in pygslib.blockmodel.Blockmodel.calc_ixyz_fromijk()
cython_code\blockmodel.pyx in pygslib.blockmodel.Blockmodel.calc_ixyz_fromijk()
cython_code\blockmodel.pyx in pygslib.blockmodel.ijk2ind()
ValueError: Buffer dtype mismatch, expected 'long' but got 'long long'
I followed the install from source directions. The installation finishes with no errors or warnings.
Did I miss something?
opengeostats and pygslib are not found when using conda install -c opengeostats pygslib.
Thanks
Blockmodel.set_blocks() is not updating the dtype of model fields IX, XC, IJK, etc.
This is the error message I got when trying to run conda and install pygslib. Same issue on Linux.
conda install -c opengeostat pygslib
Solving environment: failed
PackagesNotFoundError: The following packages are not available from current channels:
Current channels:
To search for alternate channels that may provide the conda package you're
looking for, navigate to
https://anaconda.org
and use the search bar at the top of the page.
I just installed the package using conda install. It worked, however it asked me to downgrade numpy:
numpy: 1.12.0-py27_0 --> 1.11.3-py27_0
I was wondering if this is necessary or it can also be used along with python 1.12.
CGAL and IGL are now easy to install via conca. Add support to process 3D geometry and adding computational geometry functionality.
add packages and update dependencies...
conda install -c conda-forge igl cgal
Greetings,
I am a graduate student in Geology and my thesis is reserve estimation. For this purpose, I want to get help from PyGSLIB library. Ihave used https://opengeostat.github.io/pygslib/Tutorial.html to learn, but i can not download BABBITT zone of the KEWEENAWAN DULUTH COMPLEX data. please send me this data for better learning. Thanks for your gratitude.
When I try
renderer = gslib.vtktools.polydata2renderer(mycube, color=(1,0,0), opacity=0.50, background=(1,1,1))
The result is
cython_code/vtktools.pyx in pygslib.vtktools.polydata2renderer (cython_code/vtktools.c:3902)()
cython_code/vtktools.pyx in pygslib.vtktools.polydata2renderer (cython_code/vtktools.c:3471)()
AttributeError: SetInputData
(Mac OS X, Python 2.7.12, compiled by me)
IJK index in PyGSLIB is compatible with GSLIB order (first X, then Y, and finally Z), for example, equal to the row number in a GSLIB grid file. See function pygslib.blockmodel.ind2ijk()... ijk = iz*nx*ny+ iy*nx + ix
Datamine files have a different IJK (first Z, then Y, and finally X)
TODO:
a) add a function to calculate Datamine IJK index.
b) add functions to convert: (1) from Datamine IJK to GSLIB IJK and (2) from GSLIB IJK to Datamine IJK
Add a function to write data to Datamine files. Also read Datamine files directly into a Pandas DataFrame.
hello everyone mi name is Heber from Chile and I appreciate very much the work developed with this python library, but I have the following problem when I install pygslib:
=================================== ERRORS ==================================== ____________ ERROR collecting tests/test_drillhole_ang2cart_t01.py ____________ tests\test_drillhole_ang2cart_t01.py:3: in <module> from pygslib.drillhole import ang2cart E ModuleNotFoundError: No module named 'pygslib' ____________ ERROR collecting tests/test_drillhole_ang2cart_t01.py ____________ ImportError while importing test module 'C:\Users\Heber\Desktop\python_heber\pygslib\tests\test_drillhole_ang2cart_t01.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: tests\test_drillhole_ang2cart_t01.py:3: in <module> from pygslib.drillhole import ang2cart E ModuleNotFoundError: No module named 'pygslib' ____________ ERROR collecting tests/test_drillhole_ang2cart_t02.py ____________ tests\test_drillhole_ang2cart_t02.py:4: in <module> from pygslib.drillhole import ang2cart E ModuleNotFoundError: No module named 'pygslib' ____________ ERROR collecting tests/test_drillhole_ang2cart_t02.py ____________ ImportError while importing test module 'C:\Users\Heber\Desktop\python_heber\pygslib\tests\test_drillhole_ang2cart_t02.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: tests\test_drillhole_ang2cart_t02.py:4: in <module> from pygslib.drillhole import ang2cart E ModuleNotFoundError: No module named 'pygslib' !!!!!!!!!!!!!!!!!!! Interrupted: 4 errors during collection !!!!!!!!!!!!!!!!!!! =========================== 4 error in 0.37 seconds =========================== OPENGEOSTAT SAYS CYTHON/FORTRAN CODE COMPILED
I use Python 3.6.4.
Thank you in advance for your help.
The model exported with Blockmodel.blocks2vtkImageData
is displaced.
Add a full test set to make sure calculations are OK. This may be a time consuming task, probably we may use tests to create/extend examples and documentation.
pygslib.drillhole
, pygslib.blockmodel
, ...unittest
, pytest
, nose
, doctest
.pytest
, pytest --doctest-modules
and doctest
Our idea is creating a unit testing set in the directory tests:
tests
- test_modulea_funa_t01.py
- test_modulea_funa_t02.py
- test_moduleb_funa_t01.py
Each file is a separated test [t01, t02, ...] for functions [funa, funb, ...], in modules [modulea, moduleb]
Each testing file may call a separated function to get the docstring, for example
# test file to test docstring example: call with ~pytest --doctest-modules
from pygslib.drillhole import ang2cart #Load a function and its docstring
#create dummy function and assign docstring (pytest does not run directly from ang2cart, didn't liked a cython function)
def dummy():
pass
dummy.__doc__ = ang2cart.__doc__
In this way we isolate the test (recommended for doctest).
Alternatively you can add a more complex tests with pytest
. For example:
# test file to test pytest example: call with ~pytest -v
import pytest
from pygslib.drillhole import ang2cart
#create dum function and assign docstring (pytest does not run directly from ang2cart)
def test_ang2cart_01():
# use pytest.approx to avoid precision issues
assert ang2cart( azm = 45, dip = 75) == pytest.approx((0.1830, 0.1830, -0.9659), abs=0.0001)
def test_ang2cart_02():
assert ang2cart( azm = 0, dip = 0) == (0., 0., 0.) # fails
To run all the tests in docstrings
pytest --doctest-modules
To run all the tests created with pytest
just type
pytest -v
Note that some docstring are only compatible with python 2.7 and will require compatibility updates. For example, this only works on python 2.7:
"""
>>> print ang2cart( azm = 45, dip = 75)
(0.1830127239227295, 0.1830127090215683, -0.9659258127212524)
>>>
"""
Automatic integration of pytest
in setup.py
failed because we use numpy.distutils
. The manual integration described in https://docs.pytest.org/en/latest/goodpractices.html#manual-integration fails in windows because we use mingw-w64 and it creates separated /*.dll files that are copied after setup-build
and after test. The trick we use is "manually" running the command after setup and after copying the dlls.
setup(...)
...
# copy dll if so is windows
if os.name=='nt':
mayor = sys.version_info[0]
minor = sys.version_info[1]
os.system('copy build\\lib.win-amd64-{}.{}\\pygslib\\.libs\\*.dll build\\lib.win-amd64-{}.{}\\pygslib\\gslib'.format(mayor,minor,mayor,minor))
os.system('del /s /q build\\lib.win-amd64-{}.{}\\pygslib\\.libs'.format(mayor,minor))
# running tests
os.system('pytest --doctest-modules -v tests/') #pytest of both, docstrings and pytest tests...
print (" OPENGEOSTAT SAYS CYTHON/FORTRAN CODE COMPILED")
Need help creating a function to import surpac strings
Good day everyone and thanks to the authors for creating such a great program.
I'm trying to use this program in my study data but i can't replicate the demo lesson. I have installed all the necessary libraries as described in the tutorial. The error occurs during estimation.
estimate, debug, summary = pygslib.gslib.kt3d(kt3d_Parameters)
The error message i get is as follows:
Traceback (most recent call last):
File "/Users/markjuvert/opt/anaconda3/lib/python3.6/site-packages/pygslib/gslib/init.py", line 1328, in kt3d
output['outwmean']) =__gslib__kt3d.pykt3d(**parameters)
TypeError: 'bhidint' is an invalid keyword argument for this function
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/markjuvert/Desktop/Babbitt/Babbit.py", line 356, in
estimate, debug, summary = pygslib.gslib.kt3d(kt3d_Parameters)
File "/Users/markjuvert/opt/anaconda3/lib/python3.6/site-packages/pygslib/gslib/init.py", line 1332, in kt3d
raise NameError('unexpected error in FORTRAN kt3d code')
NameError: unexpected error in FORTRAN kt3d code
I've tried to trouble shoot the code in the best way i can but i'm stuck here.
Please if anyone can help, I'll be very grateful.
Thanks in advanced!
PyVista can do most things that ParaView can do and would meet the needs of the examples I have seen in the docs. It would be great if this library leveraged PyVista for native Python 3D viz to keep users from having to save out static copies of their data. Since PyVista is simply a wrapping layer on top of VTK, users could still use ParaView if they like, but would now have the additional option of using PyVista out of the box. The vtktools
module could mostly be replaced by calls to PyVista which would cut down on a lot of maintenance for the VTK code, especially IO functions with formats like VTK, STL, etc. Also, if there are unique utilites in there leveraging VTK features we haven't yet wrapped in PyVista, I'd be happy to implement those functions in PyVista to keep VTK related maintence over in PyVista.
I'm willing to help implement this. @opengeostat, what do you think this might look like?
FYI: With PyVista support, all of the examples in the docs could be converted to be fully reproducible code to make the figures much like PyVista's examples gallery
Was wondering if you could enable the code to be supported by higher versions of Python. Also, I am not able to download the package from the Pycharm platform as well.
Compiling in Windows return error if using conda distribution and conda package mingw is installed. In case of error compiling make sure you use mingw-w64 and try this command:
conda unistall mingw
Apparently pygslib
for python 2.7
in windows requires mingw 4.7-1
(?) and libpython: 1.0-py27_1
to run properly.
Hi I have these errors when I try to run python setup build. May I ask how to resolve this?
File "setup.py", line 155, in
setup(name=name,
File "C:\Users\Jasper\miniconda3\lib\site-packages\numpy\distutils\core.py", line 169, in setup
return old_setup(**new_attr)
File "C:\Users\Jasper\miniconda3\lib\site-packages\setuptools_init_.py", line 153, in setup
return distutils.core.setup(**attrs)
File "C:\Users\Jasper\miniconda3\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "C:\Users\Jasper\miniconda3\lib\distutils\dist.py", line 966, in run_commands
self.run_command(cmd)
File "C:\Users\Jasper\miniconda3\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "C:\Users\Jasper\miniconda3\lib\site-packages\numpy\distutils\command\install.py", line 60, in run
r = self.setuptools_run()
File "C:\Users\Jasper\miniconda3\lib\site-packages\numpy\distutils\command\install.py", line 54, in setuptools_run
self.do_egg_install()
File "C:\Users\Jasper\miniconda3\lib\site-packages\setuptools\command\install.py", line 109, in do_egg_install
self.run_command('bdist_egg')
File "C:\Users\Jasper\miniconda3\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\Users\Jasper\miniconda3\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "C:\Users\Jasper\miniconda3\lib\site-packages\setuptools\command\bdist_egg.py", line 164, in run
cmd = self.call_command('install_lib', warn_dir=0)
File "C:\Users\Jasper\miniconda3\lib\site-packages\setuptools\command\bdist_egg.py", line 150, in call_command
self.run_command(cmdname)
File "C:\Users\Jasper\miniconda3\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\Users\Jasper\miniconda3\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "C:\Users\Jasper\miniconda3\lib\site-packages\setuptools\command\install_lib.py", line 11, in run
self.build()
File "C:\Users\Jasper\miniconda3\lib\distutils\command\install_lib.py", line 107, in build
self.run_command('build_ext')
File "C:\Users\Jasper\miniconda3\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\Users\Jasper\miniconda3\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "C:\Users\Jasper\miniconda3\lib\site-packages\numpy\distutils\command\build_ext.py", line 119, in run
self.compiler = new_compiler(compiler=compiler_type,
File "C:\Users\Jasper\miniconda3\lib\site-packages\numpy\distutils\ccompiler.py", line 765, in new_compiler
compiler = klass(None, dry_run, force)
File "C:\Users\Jasper\miniconda3\lib\site-packages\numpy\distutils\mingw32ccompiler.py", line 61, in init
distutils.cygwinccompiler.CygwinCCompiler.init (self, verbose,
File "C:\Users\Jasper\miniconda3\lib\distutils\cygwinccompiler.py", line 129, in init
if self.ld_version >= "2.10.90":
TypeError: '>=' not supported between instances of 'NoneType' and 'str'
Clipping a model (or a vtkImageData) will allows generating solid estimation domains from external or generated surfaces.
TODO:
Why is the version '0.0.0.4.0.0'
? I propose switching to a traditional semantic versioning scheme of: major.minor.patch
and reversioning the current release as 4.0.0
(if it is a stable release, otherwise 0.4.0
).
Also, the tags in the git repository should match the version of the code. Can you please tag the version upon switching to a semantic versioning scheme so the the releases reflect the stages of this software's development? You tag by running the following in the local clone of the repository:
git tag 4.0.0
git push origin --tags
I am currently trying to setup the pygslib library with my computer (Mac OSX Catalina 10.15.1) but I am receiving the following traceback:
`---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
in
----> 1 import pygslib
~/opt/anaconda3/envs/deepmine/lib/python3.6/site-packages/pygslib/init.py in
24
25 # import pygslib modules (compatible with python 3x)
---> 26 from . import drillhole, blockmodel, vtktools, nonlinear, sandbox, gslib, plothtml, charttable, progress
27
28 from . import version
~/opt/anaconda3/envs/deepmine/lib/python3.6/site-packages/pygslib/gslib/init.py in
40
41 #gslib fortran code
---> 42 from . import __gslib__kt3d
43 from . import __gslib__postik
44 from . import __read_gslib
ImportError: dlopen(/Users/[email protected]/opt/anaconda3/envs/deepmine/lib/python3.6/site-packages/pygslib/gslib/__gslib__kt3d.cpython-36m-darwin.so, 2): Library not loaded: /usr/local/gfortran/lib/libgfortran.3.dylib
Referenced from: /Users/[email protected]/opt/anaconda3/envs/deepmine/lib/python3.6/site-packages/pygslib/gslib/__gslib__kt3d.cpython-36m-darwin.so
Reason: image not found`
Not sure why __gslib__kt3d.cpython-36m-darwin.so
is reading from my /usr/local directory.
In addition, when trying from pysgslib.drillhole import Drillhole
I end up with the following error statement:
AttributeError: type object 'pygslib.drillhole.Drillhole' has no attribute '__reduce_cython__'
Any help on this matter would be greatly appreciated!
I know that this library is not valid for python 3.7. Is there a plan to upgrade it?
Thank to the contributor for this interesting opensource geostat lib. I am wondering if this library can do multivariate modeling with co-kriging? Is there any notebook template for it ?
Cheers,
Tiago
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.