From 6b21a0476d30dc129ff681d451df46a1410e4ca4 Mon Sep 17 00:00:00 2001 From: Maxim Kurnikov Date: Fri, 26 Jul 2019 18:39:42 +0300 Subject: [PATCH] Remove psycopg2 from dependencies (#117) * remove psycopg2 from direct dependencies, only add it in tests * bump to 1.0.1 * fix mypy --- dev-requirements.txt | 1 + mypy_django_plugin/django/context.py | 7 ++++++- setup.py | 4 +--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/dev-requirements.txt b/dev-requirements.txt index b62d198..8d1f5a1 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,5 +1,6 @@ black pytest-mypy-plugins==1.0.3 +psycopg2 flake8 isort==4.3.4 -e . diff --git a/mypy_django_plugin/django/context.py b/mypy_django_plugin/django/context.py index 778caf4..0a29653 100644 --- a/mypy_django_plugin/django/context.py +++ b/mypy_django_plugin/django/context.py @@ -3,7 +3,6 @@ from collections import defaultdict from contextlib import contextmanager from typing import TYPE_CHECKING, Dict, Iterator, List, Optional, Tuple, Type -from django.contrib.postgres.fields import ArrayField from django.core.exceptions import FieldError from django.db.models.base import Model from django.db.models.fields import AutoField, CharField, Field @@ -18,6 +17,12 @@ from mypy.types import TypeOfAny from mypy_django_plugin.lib import helpers +try: + from django.contrib.postgres.fields import ArrayField +except ImportError: + class ArrayField: # type: ignore + pass + if TYPE_CHECKING: from django.apps.registry import Apps # noqa: F401 from django.conf import LazySettings # noqa: F401 diff --git a/setup.py b/setup.py index 6365c58..1183801 100644 --- a/setup.py +++ b/setup.py @@ -24,13 +24,11 @@ dependencies = [ 'mypy>=0.720,<0.730', 'typing-extensions', 'django', - # depends on psycopg2 because of Postgres' ArrayField support - 'psycopg2' ] setup( name="django-stubs", - version="1.0.0", + version="1.0.1", description='Mypy stubs for Django', long_description=readme, long_description_content_type='text/markdown',