Skip to content

Add isort pre-commit to keep imports clean #29

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 15 commits into
base: master
Choose a base branch
from
Open
6 changes: 6 additions & 0 deletions .isort.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[settings]
lines_between_types=1
known_numpy=numpy,scipy
known_torch=torch,torchvision
sections=FUTURE,STDLIB,NUMPY,TORCH,THIRDPARTY,FIRSTPARTY,LOCALFOLDER
known_third_party=pytest
6 changes: 6 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,9 @@ repos:
hooks:
- id: flake8
additional_dependencies: ["flake8-bugbear==20.1.4", "flake8-comprehensions==3.2.2"]

- repo: https://github.com/timothycrosley/isort
rev: 4.3.21 # pick the isort version you'd like to use from https://github.com/timothycrosley/isort/releases
hooks:
- id: isort
exclude: ^docs/*
7 changes: 5 additions & 2 deletions bootstrap/compare.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import json
import numpy as np
import argparse
import json

from os import path as osp

import numpy as np

from tabulate import tabulate


Expand Down
5 changes: 4 additions & 1 deletion bootstrap/datasets/dataset.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import torch.utils.data as data
import itertools

import numpy as np

import torch.utils.data as data

from . import transforms as bootstrap_tf


Expand Down
2 changes: 1 addition & 1 deletion bootstrap/datasets/factory.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import importlib

from ..lib.options import Options
from ..lib.logger import Logger
from ..lib.options import Options


def factory(engine=None):
Expand Down
2 changes: 2 additions & 0 deletions bootstrap/datasets/transforms.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import collections

import torch

from torch.autograd import Variable


Expand Down
13 changes: 8 additions & 5 deletions bootstrap/engines/engine.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
import os
import math
import time
import torch
import datetime
import math
import os
import threading
import time

import numpy as np

import torch

from ..lib import utils
from ..lib.options import Options
from ..lib.logger import Logger
from ..lib.options import Options


class Engine(object):
Expand Down
3 changes: 2 additions & 1 deletion bootstrap/engines/factory.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import importlib
from ..lib.options import Options

from ..lib.logger import Logger
from ..lib.options import Options
from .engine import Engine
from .logger import LoggerEngine

Expand Down
8 changes: 4 additions & 4 deletions bootstrap/lib/logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
# SOFTWARE. #
#################################################################################

import collections
import datetime
import inspect
import json
import os
import sys
import json
import inspect
import datetime
import collections


class Logger(object):
Expand Down
5 changes: 4 additions & 1 deletion bootstrap/lib/options.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@
import inspect
import json
import os

from collections import OrderedDict

import yaml
from yaml import Dumper

from bootstrap.lib.utils import merge_dictionaries
from yaml import Dumper


class OptionsDict(OrderedDict):
Expand Down
8 changes: 5 additions & 3 deletions bootstrap/lib/utils.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import os
import random
import subprocess
import sys
import time
import torch

import numpy
import random
import subprocess

import torch


def merge_dictionaries(dict1, dict2):
Expand Down
6 changes: 4 additions & 2 deletions bootstrap/models/criterions/factory.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import importlib
from bootstrap.lib.options import Options

from bootstrap.lib.logger import Logger
from .nll import NLLLoss
from bootstrap.lib.options import Options

from .bce import BCEWithLogitsLoss
from .cross_entropy import CrossEntropyLoss
from .nll import NLLLoss


def factory(engine=None, mode=None):
Expand Down
6 changes: 2 additions & 4 deletions bootstrap/models/factory.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import importlib

from ..lib.options import Options
from ..lib.logger import Logger

from .model import DefaultModel
from .model import SimpleModel
from ..lib.options import Options
from .model import DefaultModel, SimpleModel


def factory(engine=None):
Expand Down
4 changes: 3 additions & 1 deletion bootstrap/models/metrics/factory.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import importlib
from bootstrap.lib.options import Options

from bootstrap.lib.logger import Logger
from bootstrap.lib.options import Options

from .accuracy import Accuracy


Expand Down
3 changes: 2 additions & 1 deletion bootstrap/models/model.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import torch.nn as nn

from ..datasets import transforms
from .networks.factory import factory as net_factory
from .criterions.factory import factory as cri_factory
from .metrics.factory import factory as met_factory
from .networks.factory import factory as net_factory


class Model(nn.Module):
Expand Down
1 change: 1 addition & 0 deletions bootstrap/models/networks/data_parallel.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import torch
import torch.nn as nn

from torch.nn.parallel._functions import Gather


Expand Down
2 changes: 1 addition & 1 deletion bootstrap/models/networks/factory.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import importlib

from bootstrap.lib.options import Options
from bootstrap.lib.logger import Logger
from bootstrap.lib.options import Options


def factory(engine=None):
Expand Down
7 changes: 4 additions & 3 deletions bootstrap/optimizers/factory.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import copy
import torch
import importlib
from ..lib.options import Options
from ..lib.logger import Logger

import torch

from ..lib.logger import Logger
from ..lib.options import Options
from . import lr_scheduler
from .grad_clipper import GradClipper

Expand Down
1 change: 1 addition & 0 deletions bootstrap/optimizers/lr_scheduler.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import torch.optim.lr_scheduler

from bootstrap.lib.logger import Logger


Expand Down
14 changes: 6 additions & 8 deletions bootstrap/run.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
import io
import os
import sys
import shutil
import click
import torch
import sys
import traceback

import torch
import torch.backends.cudnn as cudnn

import click

from . import datasets, engines, models, optimizers, views
from .lib import utils
from .lib.logger import Logger
from .lib.options import Options
from . import engines
from . import datasets
from . import models
from . import optimizers
from . import views


def init_experiment_directory(exp_dir, resume=None):
Expand Down
3 changes: 2 additions & 1 deletion bootstrap/views/factory.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import importlib
from ..lib.options import Options

from ..lib.logger import Logger
from ..lib.options import Options
from .utils import MultiViews


Expand Down
7 changes: 5 additions & 2 deletions bootstrap/views/plotly.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
import os
import json
import math
import os

import plotly.graph_objects as go
from plotly.subplots import make_subplots

from plotly.offline import plot
from plotly.subplots import make_subplots

from ..lib.logger import Logger


Expand Down
4 changes: 3 additions & 1 deletion bootstrap/views/tensorboard.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import os
import json
import os

from tensorboardX import SummaryWriter

from ..lib.logger import Logger


Expand Down
5 changes: 3 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@
https://github.com/pypa/sampleproject
"""

# Always prefer setuptools over distutils
from setuptools import setup, find_packages
# To use a consistent encoding
from codecs import open
from os import path

# Always prefer setuptools over distutils
from setuptools import find_packages, setup

here = path.abspath(path.dirname(__file__))

# Get the long description from the README file
Expand Down
5 changes: 3 additions & 2 deletions tests/test_options.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@
import json
import os
import sys

from io import StringIO

import pytest

import yaml

from bootstrap.lib.options import Options
from bootstrap.lib.options import OptionsDict
from bootstrap.lib.options import Options, OptionsDict
from bootstrap.lib.utils import merge_dictionaries


Expand Down