diff --git a/.travis.yml b/.travis.yml
index 8fc00d5..8c67288 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,7 +2,7 @@
 sudo: false
 matrix:
   include:
-  - python: 3.5
+  - python: 3.6
     env: TOXENV=lint
   - python: 3.6
     env: TOXENV=docs
diff --git a/pylint.config.py b/pylint.config.py
deleted file mode 100644
index d63f337..0000000
--- a/pylint.config.py
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 2016 Google Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""This module is used to config gcp-devrel-py-tools run-pylint."""
-
-import copy
-
-library_additions = {
-    'MESSAGES CONTROL': {
-        'disable': [
-            'I',
-            'import-error',
-            'no-member',
-            'protected-access',
-            'redefined-variable-type',
-            'similarities',
-            'no-else-return',
-        ],
-    },
-}
-
-library_replacements = {
-    'MASTER': {
-        'ignore': ['CVS', '.git', '.cache', '.tox', '.nox'],
-        'load-plugins': 'pylint.extensions.check_docs',
-    },
-    'REPORTS': {
-        'reports': 'no',
-    },
-    'BASIC': {
-        'method-rgx': '[a-z_][a-z0-9_]{2,40}$',
-        'function-rgx': '[a-z_][a-z0-9_]{2,40}$',
-    },
-    'TYPECHECK': {
-        'ignored-modules': ['six', 'google.protobuf'],
-    },
-    'DESIGN': {
-        'min-public-methods': '0',
-        'max-args': '10',
-        'max-attributes': '15',
-    },
-}
-
-test_additions = copy.deepcopy(library_additions)
-test_additions['MESSAGES CONTROL']['disable'].extend([
-    'missing-docstring',
-    'no-self-use',
-    'redefined-outer-name',
-    'unused-argument',
-    'no-name-in-module',
-])
-test_replacements = copy.deepcopy(library_replacements)
-test_replacements.setdefault('BASIC', {})
-test_replacements['BASIC'].update({
-    'good-names': ['i', 'j', 'k', 'ex', 'Run', '_', 'fh', 'pytestmark'],
-    'method-rgx': '[a-z_][a-z0-9_]{2,80}$',
-    'function-rgx': '[a-z_][a-z0-9_]{2,80}$',
-})
-
-ignored_files = ()
diff --git a/tox.ini b/tox.ini
index ddc6430..b803190 100644
--- a/tox.ini
+++ b/tox.ini
@@ -70,20 +70,14 @@
 commands = make -C docs html
 
 [testenv:lint]
-basepython = python3.5
+basepython = python3.6
 commands =
-  python setup.py check --metadata --restructuredtext --strict
   flake8 \
     --import-order-style=google \
     --application-import-names="google,tests,system_tests" \
     google tests
-  gcp-devrel-py-tools run-pylint \
-    --config pylint.config.py \
-    --library-filesets google \
-    --test-filesets tests system_tests
+  python setup.py check --metadata --restructuredtext --strict
 deps =
   flake8
   flake8-import-order
-  pylint
   docutils
-  gcp-devrel-py-tools
