Giter Club home page Giter Club logo

django-cassandra-engine's People

Contributors

alexleventer avatar ameng avatar ammurdoch avatar andydawkins avatar bezineb5 avatar bowensong avatar chripede avatar dependabot[bot] avatar disha257 avatar icycandle avatar ihesvm avatar jameyhicks avatar ningchen-wang avatar omnifroodle avatar r4fek avatar silasbw avatar singhravi1 avatar slurms 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

django-cassandra-engine's Issues

'django_cassandra_engine' isn't an available database backend.

Hi r4fek,
I am sure I am doing something wrong but I tried to setup a project using the instructions provided and I get the following error:

django.core.exceptions.ImproperlyConfigured: 'django_cassandra_engine' isn't an available database backend.

Any ideas.

Ralph

test database not used by code under test

when running units tests the code under test reads and writes to the live database not the test one even though the log says the test database is created and models synced to it.

Query Help

Are there any query examples you could point me to, I am assuming that Django ORM like statements will not work with Django Cassandra Engine. For instance I am trying a simple mydatabase.objects.all() but since Cassandra is a secondary I am trying the following: mydatabase.objects.using('cassandra').all() with no luck?

When you use this package are you forced to write raw SQL queries?
Are there any query examples or sample projects using more of an ORM like structure?

Thanks

static files not served if django_cassandra_engine is the first item in INSTALLED_APPS

The README file recommends setting django_cassandra_engine as the first app in INSTALLED_APPS; for some reason, it seems to break static file service by django.contrib.staticfiles (at least in development mode).

As a workaround, I set 'django.contrib.staticfiles' as the 1st app, then django_cassandra_engine as the 2nd. Is it safe to do so ? Is it a known issue ?

Config connection pool

Hi r4fek,
Does Django-cassandra-engine support connection pool? Please tell me how to config it?
Thanks

syncdb only sync cqlengine.Model

Hi, i try to use Cassandra as main db but when i run syncdb only cqlengine.Model class are created.
How i could for create django.db.models.Models class on DB?

Thanks

Degradation instead of NoHostAvailable on cassandra down

We've got project with several dependencies and cassandra isn't primary one. But when it is down we can't provide degradation of service and getting low level NoHostAvailable instead.
More than that looks like providing django_cassandra_engine inside INSTALLED_APPS cancels lazy_connection behaviour and creates connection at startup.
Is there any ability to continue running Django with failed cassandra connection?

_meta

Given that cqlengine models don't implement _meta, is wrapping cqlengine models to provide introspection to django by this attribute on the roadmap for this project?

install_requires should fix dependencies to specific versions

The install_requires value in setup.py does not specify - for all dependencies - the exact versions (dependency==0.1.0) and / or version bounds (dependency<=0.2). This means that someone could install this project a year from now and it may not work because a dependency could have introduced a backwards incompatible change. It's therefore better to specify the versions and upgrade them yourself when you've verified that a newer version of a dependency works fine with this project.

Test keyspace is not created.

While running unit tests on our CI the following exception was thrown:

nosetests --with-xcoverage --xcoverage-file=../../reports/coverage.xml --cover-package=incopro --with-xunit --xunit-file=pwd/../../../reports/xunit.xml --verbosity=1
Creating test database for alias 'default'...
Creating test database for alias 'cassandra'...
File "manage.py", line 16, in
execute_from_command_line(sys.argv)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django/core/management/init.py", line 399, in execute_from_command_line
utility.execute()
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django/core/management/init.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django/core/management/commands/test.py", line 50, in run_from_argv
super(Command, self).run_from_argv(argv)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
self.execute(_args, *_options.dict)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django/core/management/commands/test.py", line 71, in execute
super(Command, self).execute(_args, *_options)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django/core/management/base.py", line 285, in execute
output = self.handle(_args, *_options)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/south/management/commands/test.py", line 8, in handle
super(Command, self).handle(_args, *_kwargs)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django/core/management/commands/test.py", line 88, in handle
failures = test_runner.run_tests(test_labels)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django_nose/runner.py", line 200, in run_tests
result = self.run_suite(nose_argv)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django_nose/runner.py", line 147, in run_suite
addplugins=plugins_to_add)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/nose/core.py", line 121, in init
**extra_args)
File "/usr/lib64/python2.7/unittest/main.py", line 95, in init
self.runTests()
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/nose/core.py", line 207, in runTests
result = self.testRunner.run(self.test)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/nose/core.py", line 50, in run
wrapper = self.config.plugins.prepareTest(test)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/nose/plugins/manager.py", line 99, in call
return self.call(_arg, *_kw)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/nose/plugins/manager.py", line 167, in simple
result = meth(_arg, *_kw)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django_nose/plugin.py", line 75, in prepareTest
self.old_names = self.runner.setup_databases()
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django_nose/runner.py", line 383, in setup_databases
return super(NoseTestSuiteRunner, self).setup_databases()
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django/test/runner.py", line 107, in setup_databases
return setup_databases(self.verbosity, self.interactive, *_kwargs)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django/test/runner.py", line 279, in setup_databases
verbosity, autoclobber=not interactive)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django_cassandra_engine/creation.py", line 79, in create_test_db
load_initial_data=False
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django/core/management/init.py", line 159, in call_command
return klass.execute(_args, *_defaults)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django/core/management/base.py", line 285, in execute
output = self.handle(_args, **options)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django/core/management/base.py", line 415, in handle
return self.handle_noargs(**options)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/south/management/commands/syncdb.py", line 92, in handle_noargs
syncdb.Command().execute(**options)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django/core/management/base.py", line 285, in execute
output = self.handle(_args, *_options)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django/core/management/base.py", line 415, in handle
return self.handle_noargs(**options)
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 60, in handle_noargs
tables = connection.introspection.table_names()
File "/var/lib/go-agent/pipelines/discover_infringement/ve/lib/python2.7/site-packages/django_cassandra_engine/base.py", line 94, in table_names
keyspace = connection.cluster.metadata.keyspaces[keyspace_name]
KeyError: 'test_collect'

I assume this is a bug but any insights are welcomed.
Matthew

Cassandra connection times out when using uwsgi

Currently using django-cassandra-engine 0.6.4.4.

When i run my webapp using only django the connection to the cassandra database is ok.
But the minute i start the webapp using uwsgi + django, the queries to the database are blocked and finally times out. i tried setting retry_connect = true in the settings file but still the connection set up does not take place.

I see that the previous release has improved connection handling, not sure if the issue i am facing is because of a bug or i am using it in a wrong way.

One last query is under uwsgi when i fork many processes, is the connection to the database supposed to be created on every request, or everytime uwsgi forks the process ?

RESTful interface

Any plan for integrating with django-rest-framework or django-tastypie?

Exception when running a query from django

Hi there!
I am trying to run this query

p = Person.filter(author = username).allow_filtering()

that used to work before but now it fails with the following error:

File "/Library/Python/2.7/site-packages/cqlengine/query.py", line 284, in __len__
    self._execute_query()
  File "/Library/Python/2.7/site-packages/cqlengine/query.py", line 317, in _execute_query
    self._result_cache = list(self._execute(self._select_query()))
  File "/Library/Python/2.7/site-packages/cqlengine/query.py", line 251, in _execute
    result = execute(q, consistency_level=self._consistency, timeout=self._timeout)
  File "/Library/Python/2.7/site-packages/cqlengine/connection.py", line 89, in execute
    raise CQLEngineException("It is required to setup() cqlengine before executing queries")
CQLEngineException: It is required to setup() cqlengine before executing queries

I suspect that the timeout is not large enough to allow the query to execute. I tried adding this in the cassandra session of my database settings:

'connection': {
                'consistency': ConsistencyLevel.ONE,
                'retry_connect': True
                # + All connection options for cassandra.cluster.Cluster()
            },
            'session': {
                'default_timeout': 1000,
                'default_fetch_size': 10000
                # + All options for cassandra.cluster.Session()
            }

But still no luck. Can someone help me?

Segmentation fault

I'm on mac OSX Yosemite v10.10.3.
Virtual env:

blist (1.3.6)
cassandra-driver (2.5.1)
Django (1.8.2)
django-cassandra-engine (0.3.2)
futures (3.0.2)
pip (6.1.1)
setuptools (12.0.5)
six (1.9.0)

Apps:

INSTALLED_APPS = (
    'django_cassandra_engine',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'my_app',
)

Database:

DATABASES = {
    'default': {
        'ENGINE': 'django_cassandra_engine',
        'NAME': 'akeyspace',
        'HOST': '***.***.***.***',
        'OPTIONS': {
            'replication': {
                'strategy_class': 'SimpleStrategy',
                'replication_factor': 1
            }
        }
    }
}

The host is not a localhost cassandra server.
Command used:

./manage.py sync_cassandra
./manage.py runserver

When the server is running, make some changes in my models, save the changes and refresh my web page, sometimes I get a segmentation fault.
No matter how many changes I'm doing, it can be just 2 or many others at the end I segfault

AuthenticationBackend not working

Supposing that Sessions are not a problem (no database involved), our session backend could be Cache or Signed Cookies.

When I am trying to authenticate a User, the authentication backend does not recognize the Cassandra-based User Model. Probably because it was not created with

from django.contrib.auth.models import AbstractBaseUser

This is my models.py:

from cassandra.cqlengine import columns
from cassandra.cqlengine import models

class User(models.Model):
    username = columns.Text(primary_key=True)
    password = columns.Text()
    email = columns.Text()
    fullname = columns.Text()
    is_staff = columns.Boolean(default=False)

My views.py:

from django.shortcuts import render
from django.http import HttpResponse
from forms import LoginForm
from django.views.generic import View

class Login(View):
    def get(self, request):
        if request.user.is_authenticated():
            return HttpResponse("ALREADY LOGGED IN")
        else:
            template = "login.html"
            loginform = LoginForm()
            return render(request, template, {'loginform': loginform})

Obviously, I can't log a user in... so request.user will always return AnonymousUser.???

The question is, what can I do to make Django authenticate users correctly and make request.user return User instance?

I will help you to contribute, but I need some clues...

Setting Cassandra 'Session' default_timeout to None

Is there any way via the django cassandra engine that the variable 'default_timeout' can be specified on the class cassandra.cluster.Session? Reason being when attempting to sync over a large cluster I receive operation timeouts after ~2 tables have been synced. I will then need to restart the sync to get any further. Any advice would be appreciated.

Thanks

Django admin not working with cassandra db engine

Hello,

with cassandra as the only db engine and django 1.9 on python 3.5, I have the following error when accessing django_admin:

NotImplementedError at /admin/login/
subclasses of BaseDatabaseOperations may require a quote_name() method

if I add that method to operations.py, I have another bug in init.py in getattr:
raise AttributeError(attr) ... with attr='operators'

Isn't the cassandra engine supposed to work with django-admin?

Thank you!

Problems with list and set fields in Django

started few days ago to use Cassandra and Django, so I'm a newbie.

My model's code works well and creates all tables in my db until I add List a field(language in this case)
import uuid
from cassandra.cqlengine import columns
from cassandra.cqlengine.models import Model

    class User(Model):
        id = columns.UUID(primary_key=True, default=uuid.uuid4)
        username = columns.Text(max_length=30, required=True)
        password = columns.Text(max_length=55, required=True)
        position = columns.Text(max_length=9)
        gender = columns.UUID()
        status = columns.UUID()
        languages = columns.List(value_type=uuid, default=list)
        profile_image = columns.Text(max_length=255)

    class Language(Model):
        id = columns.UUID(primary_key=True, default=uuid.uuid4)
        gender = columns.Text(max_length=20) 

After running python "manage.py sync_cassandra"
I receive the following error:

 Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 312, in execute
    django.setup()
  File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/usr/local/lib/python2.7/dist-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/home/federico/Progetti/Tutorial/Django/HelloWorld/helloworld/tutorial/models.py", line 6, in <module>
    class User(Model):
  File "/home/federico/Progetti/Tutorial/Django/HelloWorld/helloworld/tutorial/models.py", line 13, in User
    languages = columns.List(value_type=uuid, default='list')
  File "/usr/local/lib/python2.7/dist-packages/cassandra/cqlengine/columns.py", line 765, in __init__
    self.db_type = 'list<{}>'.format(value_type.db_type)
AttributeError: 'module' object has no attribute 'db_type'
federico@federico-VirtualBox:~/Progetti/Tutorial/Django/HelloWorld/helloworld$ python manage.py sync_cassandra
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 312, in execute
    django.setup()
  File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
federico@federico-VirtualBox:~/Progetti/Tutorial/Django/HelloWorld/helloworld$ python manage.py sync_cassandra
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 312, in execute
    django.setup()
  File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/usr/local/lib/python2.7/dist-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/home/federico/Progetti/Tutorial/Django/HelloWorld/helloworld/tutorial/models.py", line 6, in <module>
    class User(Model):
  File "/home/federico/Progetti/Tutorial/Django/HelloWorld/helloworld/tutorial/models.py", line 13, in User
    languages = columns.List(value_type=uuid, default=list)
  File "/usr/local/lib/python2.7/dist-packages/cassandra/cqlengine/columns.py", line 765, in __init__
    self.db_type = 'list<{}>'.format(value_type.db_type)
AttributeError: 'module' object has no attribute 'db_type'

CQLEngineException when running inside VPN

I keep getting this error when using djang-cassandra-engine on a EC2 instance inside a VPN

CQLEngineException: It is required to setup() cqlengine before executing queries

It seems to run properly when running on a EC2 instance outside the VPN

post_save signal not working (Django 1.7)

I have tried to implement post_save signal, but failed.

Here is my simple code:

from cqlengine import columns
from cqlengine.models import Model
from uuid import uuid1
from django.db.models.signals import post_save


class Post(Model):
    __table_name__ = 'published_posts'
    post_id = columns.TimeUUID(primary_key=True, default=uuid1)   
    title = columns.Text()
    content = columns.Text()

def elasticsearch_index_task(sender, instance, created, **kwargs):
    print "Executed.."

post_save(elasticsearch_index_task, sender=Post)

This works:

from cqlengine import columns
from cqlengine.models import Model
from uuid import uuid1
from django.db.models.signals import post_save


class Post(Model):
    __table_name__ = 'published_posts'
    post_id = columns.TimeUUID(primary_key=True, default=uuid1)   
    title = columns.Text()
    content = columns.Text()

    def save(self, *args, **kwargs):
        print "Executed.."
        super(Post, self).save(*args, **kwargs)

Last code works but I needed post_save not pre_save.

Collectstatic not working if there is no connection to cassandra database

If we define cassandra in DATABASES and run python api/manage.py collectstatic it fails trying to connect to cluster. Collectstatic doesn't really need cassandra connection and it seems like it does not fail for other DB engines in DATABASES dictionary if there is no connection.

Here's console output:

2016-03-29 11:49:34,936 [WARNING] [none] cassandra.cluster: [control connection] Error connecting to 127.0.0.1:
Traceback (most recent call last):
  File "cassandra/cluster.py", line 2081, in cassandra.cluster.ControlConnection._reconnect_internal (cassandra/cluster.c:36992)
    return self._try_connect(host)
  File "cassandra/cluster.py", line 2101, in cassandra.cluster.ControlConnection._try_connect (cassandra/cluster.c:37469)
    connection = self._cluster.connection_factory(host.address, is_control_connection=True)
  File "cassandra/cluster.py", line 789, in cassandra.cluster.Cluster.connection_factory (cassandra/cluster.c:9277)
    return self.connection_class.factory(address, self.connect_timeout, *args, **kwargs)
  File "cassandra/connection.py", line 306, in cassandra.connection.Connection.factory (cassandra/connection.c:5146)
    conn = cls(host, *args, **kwargs)
  File "/Users/Rinat/.virtualenvs/maui/lib/python2.7/site-packages/cassandra/io/asyncorereactor.py", line 162, in __init__
    self._connect_socket()
  File "cassandra/connection.py", line 340, in cassandra.connection.Connection._connect_socket (cassandra/connection.c:6278)
    raise socket.error(sockerr.errno, "Tried connecting to %s. Last error: %s" % ([a[4] for a in addresses], sockerr.strerror or sockerr))
error: [Errno 61] Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused
2016-03-29 11:49:34,938 [ERROR] [none] cassandra.cluster: Control connection failed to connect, shutting down Cluster:
Traceback (most recent call last):
  File "cassandra/cluster.py", line 844, in cassandra.cluster.Cluster.connect (cassandra/cluster.c:11088)
    self.control_connection.connect()
  File "cassandra/cluster.py", line 2055, in cassandra.cluster.ControlConnection.connect (cassandra/cluster.c:36396)
    self._set_new_connection(self._reconnect_internal())
  File "cassandra/cluster.py", line 2090, in cassandra.cluster.ControlConnection._reconnect_internal (cassandra/cluster.c:37252)
    raise NoHostAvailable("Unable to connect to any servers", errors)
NoHostAvailable: ('Unable to connect to any servers', {'127.0.0.1': error(61, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")})
Traceback (most recent call last):
  File "api/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/Rinat/.virtualenvs/maui/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
    utility.execute()
  File "/Users/Rinat/.virtualenvs/maui/lib/python2.7/site-packages/django/core/management/__init__.py", line 328, in execute
    django.setup()
  File "/Users/Rinat/.virtualenvs/maui/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/Rinat/.virtualenvs/maui/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/Users/Rinat/.virtualenvs/maui/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/Rinat/.virtualenvs/maui/lib/python2.7/site-packages/django_cassandra_engine/models.py", line 5, in <module>
    conn.connect()
  File "/Users/Rinat/.virtualenvs/maui/lib/python2.7/site-packages/django_cassandra_engine/base/__init__.py", line 94, in connect
    self.connection = CassandraConnection(**settings)
  File "/Users/Rinat/.virtualenvs/maui/lib/python2.7/site-packages/django_cassandra_engine/connection.py", line 58, in __init__
    self.setup()
  File "/Users/Rinat/.virtualenvs/maui/lib/python2.7/site-packages/django_cassandra_engine/connection.py", line 70, in setup
    **self.connection_options)
  File "/Users/Rinat/.virtualenvs/maui/lib/python2.7/site-packages/cassandra/cqlengine/connection.py", line 129, in setup
    session = cluster.connect()
  File "cassandra/cluster.py", line 824, in cassandra.cluster.Cluster.connect (cassandra/cluster.c:11386)
  File "cassandra/cluster.py", line 850, in cassandra.cluster.Cluster.connect (cassandra/cluster.c:11208)
  File "cassandra/cluster.py", line 844, in cassandra.cluster.Cluster.connect (cassandra/cluster.c:11088)
  File "cassandra/cluster.py", line 2055, in cassandra.cluster.ControlConnection.connect (cassandra/cluster.c:36396)
  File "cassandra/cluster.py", line 2090, in cassandra.cluster.ControlConnection._reconnect_internal (cassandra/cluster.c:37252)
cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers', {'127.0.0.1': error(61, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")})

Despite cassandra_connection.connected being True getting CQLEngineException

Hello,

I have django_cassandra_engine version 0.6.3 with 3.0 cassandra-driver and Django1.7 installed. With previous versions of django_cassandra_engine views involving Cassandra Models uses to work out of box but with the updates I am getting
CQLEngineException: It is required to setup() cqlengine before executing queries
From manage.py shell I have tried to do things manually but still same error:

In [1]: from django_cassandra_engine.utils import get_cassandra_connection
In [2]: cassandra_connection = get_cassandra_connection()
In [3]: cassandra_connection.connect()
In [7]: SalaryRecords.objects.count()
CQLEngineException Traceback (most recent call last)
in ()
----> 1 SalaryRecords.objects.count()
CQLEngineException: It is required to setup() cqlengine before executing queries
In [8]: cassandra_connection.connected
Out[8]: True

Doing setup directly and running the query works.

In [9]: from django.conf import settings
In [11]: from cqlengine.connection import setup
In [12]: setup(hosts=[settings.DATABASES['cassandra']['HOST']], default_keyspace=settings.DATABASES['cassandra']['NAME'])
setup(hosts=[settings.DATABASES['cassandra']['HOST']], default_keyspace=settings.DATABASES['cassandra']['NAME'])
In [13]: SalaryRecords.objects.count()
Out[13]: 8952

What am I missing?

Suport for Async connections

Hi Rafaล‚,

When using celery to process tasks, it is not possible to connect to Cassandra due to timeout.

Maybe this is related to this observation: Just be sure to never share any Cluster, Session, or ResponseFuture objects across multiple processes. These objects should all be created after forking the process, not before.

This issue is described at:

http://stackoverflow.com/questions/24785299/python-cassandra-driver-operationtimeout-on-every-query-in-celery-task

but is most related to the Datastax driver.

Is there a way to create a new session inside every task worker?

Kind regards

ssjunior

Sync Issue with Tables

Hey Folks. I've most definitely read the docs and have tried several different ways to get it to create the tables, but I just cant get it working. I've tried first, last, appended, prepended... Nothing works. This was tested with Django 1.7 but im using 1.7.3. Can you confirm this works with 1.7.3?

(rem5)[rgil@rem5-3 rem5]$ pip freeze
Cython==0.21.2
Django==1.7.3
blist==1.3.6
cassandra-driver==2.1.3
cqlengine==0.21.0
django-cassandra-engine==0.2.1
djangotoolbox==1.6.2
futures==2.2.0
pulsar==0.9.2
six==1.9.0
trollius==1.0.4
wsgiref==0.1.2

rem5/models.py

import uuid
from cqlengine import columns
from cqlengine.models import Model

class posts(Model):
    __keyspace__ = 'rem5'
    read_repair_chance = 0.05 # optional - defaults to 0.1
    post_id     = columns.UUID(primary_key=True, default=uuid.uuid4)
    title       = columns.Text(required=True)
    post        = columns.Text(required=True)
    created     = columns.DateTime()

class ExampleModel(Model):
    read_repair_chance = 0.05 # optional - defaults to 0.1
    example_id      = columns.UUID(primary_key=True, default=uuid.uuid4)
    example_type    = columns.Integer(index=True)
    created_at      = columns.DateTime()
    description     = columns.Text(required=False)

rem5/settings.py

INSTALLED_APPS = (
    'django_cassandra_engine',
    'pulsar.apps.pulse',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles'
)

Output

(rem5)[rgil@rem5-3 rem5]$ python manage.py sync_cassandra -v3
Creating keyspace rem5..
(rem5)[rgil@rem5-3 rem5]$ 

Any help would be great. This combo would be amazing (pulsar, django, cassandra).

default replication_factor missing

In creation.py, why is non default given for replication_factor in the pop on line 73 if the default for OPTIONS and replication in the settings are { } (an empty dict)?

At least in my environment (python 3.4.1) this raises KeyError: 'replication_factor'.

syncdb only creates a keyspace

Following the 4 steps in the wiki, when I run syncdb I only see:
Creating keyspace avesterra_db..

Should there be something else created, given the one example model ?

why should i use django-cassandra-engine over cassandra-drive?

Based on issues raised on this forum and based on my experience, django admin module, user authentication doesn't work with django-cassandra-engine if cassandra is the only backend. May i know what are reasons for using django-cassandra-engine over cassandra-drive. sorry for the dumb question.

Batch inserts

I tried using bulk_create, but that doesn't work. Are there any plans to create batch inserts?

NoHostAvailable exception

Hi, I am having some problem when running Django through coverage.py as follows:

$ coverage run manage.py shell
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/virtualenv/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/virtualenv/lib/python2.7/site-packages/django/core/management/__init__.py", line 312, in execute
    django.setup()
  File "/virtualenv/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/virtualenv/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/virtualenv/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/virtualenv/lib/python2.7/site-packages/django_cassandra_engine/models.py", line 12, in <module>
    cassandra_connection.connect()
  File "/virtualenv/lib/python2.7/site-packages/django_cassandra_engine/base/__init__.py", line 94, in connect
    self.connection = CassandraConnection(**settings)
  File "/virtualenv/lib/python2.7/site-packages/django_cassandra_engine/connection.py", line 53, in __init__
    self.setup()
  File "/virtualenv/lib/python2.7/site-packages/django_cassandra_engine/connection.py", line 60, in setup
    connection.setup(self.hosts, self.keyspace, **self.connection_options)
  File "/virtualenv/lib/python2.7/site-packages/cassandra/cqlengine/connection.py", line 131, in setup
    session = cluster.connect()
  File "cassandra/cluster.py", line 820, in cassandra.cluster.Cluster.connect (cassandra/cluster.c:11444)
    with self._lock:
  File "cassandra/cluster.py", line 846, in cassandra.cluster.Cluster.connect (cassandra/cluster.c:11266)
    raise
  File "cassandra/cluster.py", line 840, in cassandra.cluster.Cluster.connect (cassandra/cluster.c:11146)
    self.control_connection.connect()
  File "cassandra/cluster.py", line 2088, in cassandra.cluster.ControlConnection.connect (cassandra/cluster.c:36955)
    self._set_new_connection(self._reconnect_internal())
  File "cassandra/cluster.py", line 2123, in cassandra.cluster.ControlConnection._reconnect_internal (cassandra/cluster.c:37811)
    raise NoHostAvailable("Unable to connect to any servers", errors)
NoHostAvailable: ('Unable to connect to any servers', {'127.0.0.1': OperationTimedOut('errors=Timed out creating connection (5 seconds), last_host=None',)})

If I run the same command without coverage.py the exception does not raises and the tests just goes fine. I've tested with manage.py test, manage.py shell and manage.py runserver
It is very odd why Cassandra can't connect with the same properties when running through coverage.py.

Can you help me?
Thanks!

Session raise AttributeError operator

Hello,

I am having this same problem:

I am not able to use session, raising the error:

AttributeError at /my-page
operators

It happens on request.session.get('my_key')

I already followed Django Cassandra Engine - Sessions

So, when i do DESCRIBE TABLE session in cqlsh i get:

CREATE TABLE test.session (
    session_key text PRIMARY KEY,
    expire_date timestamp,
    session_data text
) ...

It works normally when i change to file session SESSION_ENGINE = "django.contrib.sessions.backends.file"

Here is the full error:

Environment:


Request Method: POST
Request URL: http://localhost:8000/my-page

Django Version: 1.8
Python Version: 2.7.11
Installed Applications:
['django.contrib.contenttypes',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django_cassandra_engine',
 'rest_framework',
 'django_cassandra_engine.sessions']
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.security.SecurityMiddleware')


Traceback:
File "/home/rafael/env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/rafael/env/local/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
  58.         return view_func(*args, **kwargs)
File "/home/rafael/env/local/lib/python2.7/site-packages/django/views/generic/base.py" in view
  71.             return self.dispatch(request, *args, **kwargs)
File "/home/rafael/env/local/lib/python2.7/site-packages/rest_framework/views.py" in dispatch
  466.             response = self.handle_exception(exc)
File "/home/rafael/env/local/lib/python2.7/site-packages/rest_framework/views.py" in dispatch
  463.             response = handler(request, *args, **kwargs)
File "/home/rafael/env/local/lib/python2.7/site-packages/rest_framework/decorators.py" in handler
  53.             return func(*args, **kwargs)
File "/home/rafael/mysite/mysiteapp/views.py" in mypage
  13.     request.session.get('my-key', None)
File "/home/rafael/env/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py" in get
  59.         return self._session.get(key, default)
File "/home/rafael/env/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py" in _get_session
  181.                 self._session_cache = self.load()
File "/home/rafael/env/local/lib/python2.7/site-packages/django/contrib/sessions/backends/db.py" in load
  21.                 expire_date__gt=timezone.now()
File "/home/rafael/env/local/lib/python2.7/site-packages/django/db/models/manager.py" in manager_method
  127.                 return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/rafael/env/local/lib/python2.7/site-packages/django/db/models/query.py" in get
  328.         num = len(clone)
File "/home/rafael/env/local/lib/python2.7/site-packages/django/db/models/query.py" in __len__
  144.         self._fetch_all()
File "/home/rafael/env/local/lib/python2.7/site-packages/django/db/models/query.py" in _fetch_all
  965.             self._result_cache = list(self.iterator())
File "/home/rafael/env/local/lib/python2.7/site-packages/django/db/models/query.py" in iterator
  238.         results = compiler.execute_sql()
File "/home/rafael/env/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in execute_sql
  818.             sql, params = self.as_sql()
File "/home/rafael/env/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in as_sql
  376.             where, w_params = self.compile(self.query.where)
File "/home/rafael/env/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in compile
  346.             sql, params = node.as_sql(self, self.connection)
File "/home/rafael/env/local/lib/python2.7/site-packages/django/db/models/sql/where.py" in as_sql
  104.                     sql, params = compiler.compile(child)
File "/home/rafael/env/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in compile
  346.             sql, params = node.as_sql(self, self.connection)
File "/home/rafael/env/local/lib/python2.7/site-packages/django/db/models/lookups.py" in as_sql
  208.         rhs_sql = self.get_rhs_op(connection, rhs_sql)
File "/home/rafael/env/local/lib/python2.7/site-packages/django/db/models/lookups.py" in get_rhs_op
  212.         return connection.operators[self.lookup_name] % rhs
File "/home/rafael/env/local/lib/python2.7/site-packages/django_cassandra_engine/base/__init__.py" in __getattr__
  103.         raise AttributeError(attr)

Exception Type: AttributeError at /my-page
Exception Value: operators

Am i doing anything wrong?

Thanks
Rafael

sync_cassandra issue with cassandra docker image 3.5

Hi,

I have below error when trying sync_cassandra with docker cassandra image 3.5

However my models are created with success.

Thanks,

J

(cass)jj@jj-box:~/projects_dev/cass_projects$ sudo docker-compose run web python manage.py sync_cassandra
/usr/local/lib/python3.5/site-packages/django/core/management/base.py:577: RemovedInDjango110Warning: NoArgsCommand class is deprecated and will be removed in Django 1.10. Use BaseCommand instead, which takes no arguments by default.
  RemovedInDjango110Warning

/usr/local/lib/python3.5/site-packages/django/core/management/__init__.py:345: RemovedInDjango110Warning: OptionParser usage for Django management commands is deprecated, use ArgumentParser instead
  self.fetch_command(subcommand).run_from_argv(self.argv)

Creating keyspace db..
/usr/local/lib/python3.5/site-packages/cassandra/cqlengine/management.py:462: UserWarning: CQLENG_ALLOW_SCHEMA_MANAGEMENT environment variable is not set. Future versions of this package will require this variable to enable management functions.
  warnings.warn(msg)

Syncing kaska.models.UserGuess
Syncing kaska.models.UserLike
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.5/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.5/site-packages/django/core/management/__init__.py", line 345, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.5/site-packages/django/core/management/base.py", line 348, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.5/site-packages/django/core/management/base.py", line 399, in execute
    output = self.handle(*args, **options)
  File "/usr/local/lib/python3.5/site-packages/django/core/management/base.py", line 584, in handle
    return self.handle_noargs(**options)
  File "/usr/local/lib/python3.5/site-packages/django_cassandra_engine/management/commands/sync_cassandra.py", line 116, in handle_noargs
    emit_post_migrate_signal(1, False, cassandra_alias)
  File "/usr/local/lib/python3.5/site-packages/django_cassandra_engine/management/commands/sync_cassandra.py", line 29, in emit_post_migrate_signal
    using=db)
  File "/usr/local/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 192, in send
    response = receiver(signal=self, sender=sender, **named)
  File "/usr/local/lib/python3.5/site-packages/django/contrib/auth/management/__init__.py", line 85, in create_permissions
    ctype = ContentType.objects.db_manager(using).get_for_model(klass)
  File "/usr/local/lib/python3.5/site-packages/django/contrib/contenttypes/models.py", line 67, in get_for_model
    ct = self.get(app_label=opts.app_label, model=opts.model_name)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/manager.py", line 122, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py", line 381, in get
    num = len(clone)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py", line 240, in __len__
    self._fetch_all()
  File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py", line 1074, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py", line 52, in __iter__
    results = compiler.execute_sql()
  File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/compiler.py", line 837, in execute_sql
    sql, params = self.as_sql()
  File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/compiler.py", line 389, in as_sql
    where, w_params = self.compile(self.where) if self.where is not None else ("", [])
  File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/compiler.py", line 366, in compile
    sql, params = node.as_sql(self, self.connection)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/where.py", line 79, in as_sql
    sql, params = compiler.compile(child)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/compiler.py", line 366, in compile
    sql, params = node.as_sql(self, self.connection)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/lookups.py", line 160, in as_sql
    rhs_sql = self.get_rhs_op(connection, rhs_sql)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/lookups.py", line 164, in get_rhs_op
    return connection.operators[self.lookup_name] % rhs
  File "/usr/local/lib/python3.5/site-packages/django_cassandra_engine/base/__init__.py", line 103, in __getattr__
    raise AttributeError(attr)
AttributeError: operators

Please find my requirements.txt file below.

Django==1.9.7
djangorestframework
django-cassandra-engine
wheel==0.24.0

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 2293:

Hi

when trying to build an rpm package on the open build server, I get the following error for python3

[   35s] + python3 setup.py build
[   35s] Traceback (most recent call last):
[   35s]   File "setup.py", line 11, in <module>
[   35s]     LONG_DESCRIPTION = f.read()
[   35s]   File "/usr/lib64/python3.5/encodings/ascii.py", line 26, in decode
[   35s]     return codecs.ascii_decode(input, self.errors)[0]
[   35s] UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 2293: ordinal not in range(128)
[   35s] error: Bad exit status from /var/tmp/rpm-tmp.ZHhrmJ (%build)

Seems as if a f.read().decode('utf-8') should be used in setup.py for python3 or perhaps
open( 'README.rst'), 'r', encoding='utf-8')?

Perform Raw Queries in hybrid DB scheme

I have read the documentation but it suposes that Cassandra is the 'default' DataBase Engine.

This is my settings.py configuration:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'mypsqlproject',
        'USER': 'ezequiel',
        'PASSWORD': '1234',
        'HOST': 'localhost',
        'PORT': '',
    },
    'cassandra': {
        'ENGINE': 'django_cassandra_engine',
        'NAME': 'myproject',
        'USER': 'cassandra',
        'PASSWORD': 'cassandra',
        'HOST': '127.0.0.1',
        'OPTIONS': {
            'replication': {
                'strategy_class': 'SimpleStrategy',
                'replication_factor': 1
            }
        }
    }
}

I used in my views.py:

from django.db import connection
cursor = connection.cursor()
result = cursor.execute("SELECT COUNT(*) FROM auth_user")
print result[0]

But I don't know how to select a database engine to perform RAW queries over Cassandra.

Does loaddata script supports loading data from JSON files to Cassandra database?

I have a requirement to load data into cassandra db from my JSON files using Django framework. As far as I know, "manage.py loaddata" only works for relational databases but not for NoSQL class databases ( I may be wrong though). Is there any script similar to loaddata and dumpdata for loading and dumping data from/to cassandra DB from/to JSON files using django framework?

Versions of packages in requirements

Hey r4fek,

Thanks for your work on the library.
Could you please add versions to the packages you list on the requirements.txt ?
I read the package needs the latest cqlengine, but I think it might be better to freeze the versions.

Theo

Sync_cassandra command doesnt create table

When I executed sync_cassandra command, keyspace was created. but no tables got created. sync_cassandra command displays no errors either. Not sure what is going on. how do i look for what preventing tables being created? I am using following versions of software.
cassandra-driver==3.1.0a1.post0
Django==1.9.2
django-cassandra-engine==0.6.4
six==1.10.0

BaseDatabaseIntrospection may require a get_table_list() method

When I try to run the simple example described in the wiki, I get this exception:

NotImplementedError: subclasses of BaseDatabaseIntrospection may require a get_table_list() method

โžœ ~ sudo pip list |egrep -i 'cass|djan'
cassandra-driver (2.1.0)
Django (1.7)
django-cassandra-engine (0.0.6)
django-celery (3.1.16)
django-celery-with-redis (3.0)
django-jinja (1.0.4)
djangorestframework (2.4.3)
djangotoolbox (1.6.2)

Advanced Settings for cassandra connection

Hi,

I am looking for help in setting the connection to cassandra. I can't find what are the proper options to get it connected with my django settings.

I can tell that my cassandra setup is working fine because I can connect from OpsCenter and DevCenter and query the system tables. But I can't figure out how to initiate the connection for django-cassandra -engine.

I would really appreciate if you could help.

The following code is in my settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django_cassandra_engine',
        'NAME': 'mykeyspace',
        'USER': 'user',
        'PASSWORD': 'password',
        'HOST': '127.0.0.1',  # comma separeted hosts
        'OPTIONS': {
            'replication': {
                'strategy_class': 'SimpleStrategy',
                'replication_factor': 1
            },
            'connection': {
                'consistency': ConsistencyLevel.ONE,
                'lazy_connect': True,
                'retry_connect': True,
                'port': 9042,
                'username': 'user',
                'password': 'password',
                # + All connection options for cassandra.Cluster()
            }
        }
    }
}

If I leave the username and password in the connection options list I get the following message:

raise CQLEngineException("Username & Password are now handled by using the native driver's auth_provider")
cqlengine.exceptions.CQLEngineException: Username & Password are now handled by using the native driver's auth_provider

I didn't found anything talking about auth_provider and yes in my /etc/cassandra/cassandra.yaml I have it set to authenticator: PasswordAuthenticator.

Where can I find how to correctly set the connection options?

Any help is appreciated.

Regards
Dominick

0.1.6 Breaking change without documentation.

0.1.6 version has changed/moved:

    'OPTIONS': {
        'connection': {
            'consistency': ConsistencyLevel.ONE,

to

     'OPTIONS': {
        'consistency_level': ConsistencyLevel.ONE,

This is a breaking change causing all existing configurations using this setting to fail. Please consider documenting breaking changes to make it easier for users to determine what needs to be done if they don't wish to pin themselves to an older version. Please also update the existing documentation so it reflects the new setting, ie, Advanced Usage on this page: http://r4fek.github.io/django-cassandra-engine/

Add support for migrations

Django 1.7's migrations should be supported.

Is this something that is being worked on or has been attempted? I am interested in helping out with this if you think it would be a reasonable addition. If Django's built-in migrations are too difficult to tie into, I'm not opposed to writing something custom for this. My team at work uses a custom solution that I think I could adapt to work here.

Any thoughts or suggestions around this?

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.