Git Product home page Git Product logo

aiopvpc's People

Contributors

azogue avatar cdce8p avatar dependabot[bot] avatar miguelangellv avatar pre-commit-ci[bot] 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aiopvpc's Issues

openevse don't works in HA Hacs

It seems that the integration of openenve in home assistant, which is integrated using hacs, has stopped working.
Does anyone know the reason??

I do not have a username or password configured, although I also tried with a username and password.
Communication by mqtt through nodered does work.
The version I have installed is:
OpenEVSE 8.2.0.EU
Wi-Fi OpenEVSE 4.1.7
home assistant and hacs at the last level:
Home Assistant 2023.3.4
hack 1.31.0

Can somebody help me?
image

thank you

Despues del cambio de tarifas del 1/junio no funciona

Buenos dias,

Despues del cambio de tarifas de hoy no funciona correctamente el componente, He actualizado el componente a la ultiam version 2.1.2, pero no sé como configurarlo para que funcione correctamente.
La instalación la hice desde "añadir integración" de HA, no lo tengo como custom component.

Podrías indicarme como solucionarlo por favor?

Muchas gracias de antemano!

Detected code that uses str for device registry entry_type

I think this error is produced by your integration. I see just three errors before loading each of the three sensors:

2022-01-10 10:37:58 WARNING (MainThread) [homeassistant.helpers.frame] Detected code that uses str for device registry entry_type. This is deprecated and will stop working in Home Assistant 2022.3, it should be updated to use DeviceEntryType instead. Please report this issue.
Stack (most recent call last):
File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/usr/src/homeassistant/homeassistant/__main__.py", line 331, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 318, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 121, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 629, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 596, in run_forever
self._run_once()
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 1890, in _run_once
handle._run()
File "/usr/local/lib/python3.9/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 500, in _async_add_entity
device = device_registry.async_get_or_create(**processed_dev_info) # type: ignore[arg-type]
File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 360, in async_get_or_create
report( # type: ignore[unreachable]
File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 74, in report
_LOGGER.warning(msg, stack_info=True)
Stack (most recent call last):
File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/usr/src/homeassistant/homeassistant/__main__.py", line 331, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 318, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 121, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 629, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 596, in run_forever
self._run_once()
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 1890, in _run_once
handle._run()
File "/usr/local/lib/python3.9/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 500, in _async_add_entity
device = device_registry.async_get_or_create(**processed_dev_info) # type: ignore[arg-type]
File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 360, in async_get_or_create
report( # type: ignore[unreachable]
File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 74, in report
_LOGGER.warning(msg, stack_info=True)
2022-01-10 10:37:58 WARNING (MainThread) [custom_components.esios.sensor] Setup of ESIOS PVPC (sensor.pvpc_horario_dha) finished
2022-01-10 10:37:58 WARNING (MainThread) [homeassistant.helpers.frame] Detected code that uses str for device registry entry_type. This is deprecated and will stop working in Home Assistant 2022.3, it should be updated to use DeviceEntryType instead. Please report this issue.
Stack (most recent call last):
File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/usr/src/homeassistant/homeassistant/__main__.py", line 331, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 318, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 121, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 629, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 596, in run_forever
self._run_once()
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 1890, in _run_once
handle._run()
File "/usr/local/lib/python3.9/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 500, in _async_add_entity
device = device_registry.async_get_or_create(**processed_dev_info) # type: ignore[arg-type]
File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 360, in async_get_or_create
report( # type: ignore[unreachable]
File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 74, in report
_LOGGER.warning(msg, stack_info=True)
Stack (most recent call last):
File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/usr/src/homeassistant/homeassistant/__main__.py", line 331, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 318, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 121, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 629, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 596, in run_forever
self._run_once()
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 1890, in _run_once
handle._run()
File "/usr/local/lib/python3.9/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 500, in _async_add_entity
device = device_registry.async_get_or_create(**processed_dev_info) # type: ignore[arg-type]
File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 360, in async_get_or_create
report( # type: ignore[unreachable]
File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 74, in report
_LOGGER.warning(msg, stack_info=True)
2022-01-10 10:37:58 WARNING (MainThread) [custom_components.esios.sensor] Setup of ESIOS CO2 intensity (sensor.esios_co2_intensity) finished
2022-01-10 10:37:58 WARNING (MainThread) [homeassistant.helpers.frame] Detected code that uses str for device registry entry_type. This is deprecated and will stop working in Home Assistant 2022.3, it should be updated to use DeviceEntryType instead. Please report this issue.
Stack (most recent call last):
File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/usr/src/homeassistant/homeassistant/__main__.py", line 331, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 318, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 121, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 629, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 596, in run_forever
self._run_once()
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 1890, in _run_once
handle._run()
File "/usr/local/lib/python3.9/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 500, in _async_add_entity
device = device_registry.async_get_or_create(**processed_dev_info) # type: ignore[arg-type]
File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 360, in async_get_or_create
report( # type: ignore[unreachable]
File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 74, in report
_LOGGER.warning(msg, stack_info=True)
Stack (most recent call last):
File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/usr/src/homeassistant/homeassistant/__main__.py", line 331, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 318, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 121, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 629, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 596, in run_forever
self._run_once()
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 1890, in _run_once
handle._run()
File "/usr/local/lib/python3.9/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 500, in _async_add_entity
device = device_registry.async_get_or_create(**processed_dev_info) # type: ignore[arg-type]
File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 360, in async_get_or_create
report( # type: ignore[unreachable]
File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 74, in report
_LOGGER.warning(msg, stack_info=True)
2022-01-10 10:37:58 WARNING (MainThread) [custom_components.esios.sensor] Setup of ESIOS Grid CO2 free percentage (sensor.esios_grid_co2_free_percentage) finished

Add gas compensation cost

Could the cost of gas compensation be added?
Some marketers are thinking of adding it to the price of the injection and it would be interesting to have both data in order to obtain the total price of the injection.

Recuperar datos que están a 0 por el fallo

Yo uso HOME ASSISTANT como estuvo fallando, tengo consumos negativos... hay manera de arreglar eso? (algo en la configuración que vaya pidiendo días antiguos poco a poco?)

O algo que pueda haecer yo manualmente?

Atributo para obtener el precio actual

Hola! Estoy intentando crear una automatización en HA de forma que pueda utilizar el precio actual como condicionante para disparar acciones.

Por ejemplo, que cuando el precio sea >0.15, apague un interruptor, y que cuando el valor sea inferior, vuelva a encenderlo.

Para ello tendría que poder "leer" el "precio actual" como un atributo, pero ahora mismo tendría que crear una condición por cada uno de los atributos "Price 00h", "Price 01h"... etc. para que la automatización pueda leer las variaciones de precio, lo cual es bastante tedioso.

Sería posible leer el precio actual de un único atributo, de forma que solo sea necesario crear un condicionante de estado numérico?

Un saludo y gran trabajo. Gracias de antemano.

¿No hay problema de no utilizar token?

Hola,

Estaba informandome sobre la funcionalidad de HA, y he llegado aqui.
¿no hay problema por no usar un token?

Entiendo que al hacerse una sola vez la llamada al dia, imagino que no.

¿Pero os habeis encontrado con algun problema?
Gracias

Node red integration

Hi!
Im trying to use the librray to export the best 6 hous of energy price to node red in json.

¿It possible? i can execute python programs in node red.

Thanks!

Integrar precio excedentes de autoconsumo en el índice

Buenas.

Antes que nada agradecer el trabajo realizado en este proyecto, la integración de HASS es simplemente magnífica y nos ha ayudado a mantener un consumo más responsable y eficiente en nuestro hogar.

Tenemos placas solares que generan excedentes a menudo. Al principio creía que mi compañía eléctrica me compensaba los excedentes a una tarifa fija, pero al parecer es variable, como la del consumo general.

Me gustaría saber si es posible incorporar el índice de autoconsumo en la integración del PVPC. A continuación dejo el enlace del índice de autoconsumo:

Índice de precios de autoconsumo

Muchas gracias.

Attributes are referred to current and next_day prices

min_price, max_price, min_price_at... are referred to all the list of prices, including today and tomorrow.

I think a better option is to separate these attributes to take only one day, so it's more useful to know what is going to be the best price for both days.

Setting development environment

Hi @azogue ,

I'm trying to setup a development environment for this library because I would like to add some new calculated attributes. What python version do I need to install? Some other recommendations? My operating system is Linux.

Regards,
Raúl

Sensor unavailable desde 02/11 (con actualización)

Buenas!!

Necesito un cable, porque continuo teniendo problemas con la integración.

Tengo actualizado el core a la versión core-2021.11.1core-2021.11.2
He descargado el custom component pvpc_hourly_pricing.zip
He desinstalado e instalado varias veces la integración
He revertido la versión del core-2021.11.1 a la anterior core-2021.10.7 y vuelto a reinstalar

Y sigue sin funcionar. Este es el log de mi último arranque.

2021-11-09 08:27:50 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration pvpc_hourly_pricing which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-11-09 08:31:07 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform pvpc_hourly_pricing is taking over 10 seconds.
2021-11-09 08:31:51 ERROR (MainThread) [aiopvpc.pvpc_data] BAD Download of PVPC prices from 2020-11-09 08:31:08.063687 to 2021-11-09 23:59:59.000059 in 43.12 sec
2021-11-09 08:32:10 WARNING (MainThread) [custom_components.pvpc_hourly_pricing.sensor] sensor.pvpc: repeated bad data update, mark component as unavailable source
2021-11-09 08:32:34 ERROR (MainThread) [aiopvpc.pvpc_data] BAD Download of PVPC prices from 2020-11-09 08:32:07.855658 to 2021-11-09 23:59:59.000059 in 26.84 sec
2021-11-09 08:32:55 ERROR (MainThread) [aiopvpc.pvpc_data] BAD Download of PVPC prices from 2021-10-01 00:00:00 to 2021-11-09 23:59:59.000059 in 8.45 sec
2021-11-09 08:33:22 ERROR (MainThread) [aiopvpc.pvpc_data] BAD Download of PVPC prices from 2021-10-01 00:00:00 to 2021-11-09 23:59:59.000059 in 7.63 sec
2021-11-09 08:33:42 ERROR (SyncWorker_14) [aiopvpc.pvpc_data] BAD Download of PVPC prices from 2021-03-28 01:00:00 to 2021-03-28 03:00:00 in 3.13 sec
2021-11-09 08:33:48 ERROR (SyncWorker_14) [aiopvpc.pvpc_data] BAD Download of PVPC prices from 2021-11-02 11:00:00 to 2021-11-09 08:32:34.885720 in 5.02 sec
2021-11-09 08:33:51 ERROR (MainThread) [aiopvpc.pvpc_data] BAD Download of PVPC prices from 2021-10-01 00:00:00 to 2021-11-09 23:59:59.000059 in 7.28 sec
2021-11-09 08:34:20 ERROR (MainThread) [aiopvpc.pvpc_data] BAD Download of PVPC prices from 2021-10-01 00:00:00 to 2021-11-09 23:59:59.000059 in 6.05 sec

Saludos!

Enable more tests

Without network access almost all tests are skipped.

[...]
-- Docs: https://docs.pytest.org/en/stable/warnings.html
================== 1 passed, 14 skipped, 11 warnings in 0.47s ==================

Would it be possible to run the tests with fixtures?

Most build systems for distribution packages don't allow network access during the build process of the packages. Thus, it would be nice to have some tests which could be run.

Thanks.

Include self-consumption values

Hi,

I have solar panels and using Home Assistant with the new integration called "Energy" which supports adding the price of returned energy.

Could be possible to add the hourly for self-consumption surplus, so I can use it to get a more accurate final cost every month?

By the way, genial trabajo! Ojala supiera como programar esto. Intentaría echar un cable con esta petición.

Example provided results in error message

Hi,

When trying to run (in IDLE under Windows 10) the example provided in READ.cmd it turns out an error message:

import aiohttp
from datetime import datetime
from aiopvpc import PVPCData
async with aiohttp.ClientSession() as session:
pvpc_handler = PVPCData(session=session, tariff="2.0TD")

SyntaxError: 'async with' outside async function

Can you please check if there's some mistake in the lines above? (though it doesn't show up, the line pvpc_handler... is properly indented)
Thanks !

Test failures with holidays-0.13

With with holidays-0.13 there are three failures. 0.13 contains some changes for Spain.

https://github.com/dr-prodigy/python-holidays/pull/634 contains a change around the Spanish holidays but it doesn't help to get the aiopvpc tests to pass.

============================= test session starts ==============================
platform linux -- Python 3.10.2, pytest-6.2.5, py-1.11.0, pluggy-1.0.0 -- /nix/store/c6dwl65z7z9vyadfzp5aqbfv6bi1afnz-python3-3.10.2/bin/python3.10
cachedir: .pytest_cache
rootdir: /build/source, configfile: pyproject.toml, testpaths: tests
plugins: asyncio-0.17.2, timeout-2.0.2
asyncio: mode=legacy
collected 46 items / 4 deselected / 42 selected  
[...]
=================================== FAILURES ===================================
_________________ test_number_of_national_holidays[2021-104-7] _________________

year = 2021, days_weekend_p3 = 104, extra_days_p3 = 7

    @pytest.mark.parametrize(
        "year, days_weekend_p3, extra_days_p3",
        (
            (2021, 104, 7),
            (2022, 105, 7),
            (2023, 105, 9),
        ),
    )
    def test_number_of_national_holidays(year, days_weekend_p3, extra_days_p3):
        """Calculate days with full P3 valley period."""
        holidays_p3 = weekend_days_p3 = 0
        day = datetime(year, 1, 1, 15, tzinfo=REFERENCE_TZ)
        while day.year == year:
            period, _, _ = get_current_and_next_tariff_periods(day, False)
            if period == "P3":
                if day.isoweekday() > 5:
                    weekend_days_p3 += 1
                else:
                    holidays_p3 += 1
            day += timedelta(days=1)
        assert weekend_days_p3 == days_weekend_p3
>       assert holidays_p3 == extra_days_p3
E       assert 8 == 7
E         +8
E         -7

tests/test_tariff_attributes.py:34: AssertionError
[...]
    warnings.warn(

-- Docs: https://docs.pytest.org/en/stable/warnings.html
=========================== short test summary info ============================
FAILED tests/test_tariff_attributes.py::test_number_of_national_holidays[2021-104-7]
FAILED tests/test_tariff_attributes.py::test_number_of_national_holidays[2022-105-7]
FAILED tests/test_tariff_attributes.py::test_number_of_national_holidays[2023-105-9]
=========== 3 failed, 39 passed, 4 deselected, 2 warnings in 19.93s ============

Could you please take a look? I guess that you are more familiar with Spanish holidays than I am. Thanks.

Nueva tarifa a partir del 1 de junio

Hola @azogue !

Te escribo en castellano que nos entendemos mejor 😉

Te quería preguntar sobre el cambio de tarifas que nos viene el primer día de junio. Habrá una sola tarifa con discriminación horaria en vez de tres. ¿La librería se comportará bien? Supongo que si no se ha podido probar será difícil saberlo. Bueno, estaremos pendientes. Sí necesitas ayuda en algo me ofrezco voluntario.

Saludos!

No funciona la integración con HA desde el 2 de noviembre

Hola, la integración con Homeassistant ha dejado de funcionar (estado unavailable) cuando he realizado una actualización de versión del core y se ha reiniciado HA. He vuelto a configurar la integración por si era algún problema con mi instalación y sigue sin funcionar. Incluso he vuelto a la versión anterior de HA y tampoco se soluciona. ¿Puede ser algún problema con el reciente cambio de hora del día 1 de noviembre?
Se agradece una rápida respuesta.
Saludos!

Component errors in ha log

I use the plugin with the token, and I have several errors in the ha log that fills it up.
I give an example:

2021-12-03 15:13:38 ERROR (SyncWorker_50) [aiopvpc.pvpc_data] Forbidden error with 'https://api.esios.ree.es/archives/70/download_json?locale=es&date=2021-11-30' -> Headers: <CIMultiDictProxy('Content-Type': 'text/html', 'Cache-Control': 'no-cache, no-store', 'Connection': 'close', 'Content-Length': '866', 'X-Iinfo': '14-151164377-0 2NNN RT(1638540818356 35) q(0 -1 -1 -1) r(0 -1) B15(11,1720275,0)', 'Strict-Transport-Security': 'max-age=31536000', 'Set-Cookie': 'visid_incap_1885724=VDr4YmSlTrCza1XnDKv1nBImqmEAAAAAQUIPAAAAAACg4JdrwdFB7ffJdP7W1Muh; expires=Fri, 02 Dec 2022 17:16:12 GMT; HttpOnly; path=/; Domain=.esios.ree.es; Secure; SameSite=None', 'Set-Cookie': 'incap_ses_1484_1885724=zUq8Hjfug1nOFp32JzqYFBImqmEAAAAArCR/L+VGJF4cgA5VadLWfw==; path=/; Domain=.esios.ree.es; Secure; SameSite=None')>

Question about when price_next_day or price_last_day attributes are generated

Hi Eugenio.

Great project! I'm using it from the Homeassistant integration and it works flawlessly. But I have a question about the price_next_day and price_last_day attributes.

I understand the price_next_day attributes because they contain the price for the next day. They usually appear at the state change of 21:00 because they are retrieved between 20:00 a 21:00. But some days the attributes generated are price_last_day. What do price_last_day attributes mean? I have some template sensors that read these attributes and I want to understand what they mean in order to program them in that cases.

Muchas gracias y saludos!

Tag the source

It would be very helpful if you could tag releases again. This would enable distributions to fetch the package from GitHub instead of PyPI.

Thanks

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.