-
Notifications
You must be signed in to change notification settings - Fork 1
Conversation
61da1fd
to
e75c8b4
Compare
e75c8b4
to
873a4e3
Compare
Sourcery Code Quality Report✅ Merging this PR will increase code quality in the affected files by 0.23%.
Here are some functions in these files that still need a tune-up:
Legend and ExplanationThe emojis denote the absolute quality of the code:
The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request. Please see our documentation here for details on how these metrics are calculated. We are actively working on this report - lots more documentation and extra metrics to come! Help us improve this quality report! |
cond = any([isinstance(x, t) for t in types]) | ||
cond = any(isinstance(x, t) for t in types) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function ert_multiTypes
refactored with the following changes:
- Replace unneeded comprehension with generator (
comprehension-to-generator
)
elif rightClose: | ||
assert x > vmin and x <= vmax, f"expected {vmin}<{label}<={vmax}" | ||
else: | ||
if rightClose: | ||
assert x > vmin and x <= vmax, f"expected {vmin}<{label}<={vmax}" | ||
else: | ||
assert x > vmin and x < vmax, f"expected {vmin}<{label}<{vmax}" | ||
assert x > vmin and x < vmax, f"expected {vmin}<{label}<{vmax}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function ert_inInterv
refactored with the following changes:
- Merge else clause's nested if statement into elif (
merge-else-if-into-elif
)
for bin_id in range(0, (chrom_size_nt // self._bin_size) + 1): | ||
for bin_id in range((chrom_size_nt // self._bin_size) + 1): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function ChromosomeIndex.__init_index
refactored with the following changes:
- Replace range(0, x) with range(x) (
remove-zero-from-range
)
if bin_start > position_in_bytes: | ||
bin_start = position_in_bytes | ||
if bin_end < position_in_bytes: | ||
bin_end = position_in_bytes | ||
bin_start = min(bin_start, position_in_bytes) | ||
bin_end = max(bin_end, position_in_bytes) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function ChromosomeIndex.__populate_bins
refactored with the following changes:
- Replace comparison with min/max call (
min-max-identity
)
if 0 == r[1]: | ||
if r[1] == 0: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function Record.__norm_value_in_range
refactored with the following changes:
- Ensure constant in comparison is on the right (
flip-comparison
)
if self.focus_window[0] <= self._data["start"].min(): | ||
if self.focus_window[1] >= self._data["end"].max(): | ||
self.logger.warning( | ||
" ".join( | ||
[ | ||
"Cannot expand the focus region any further ", | ||
"(all oligos already included)", | ||
] | ||
) | ||
if ( | ||
self.focus_window[0] <= self._data["start"].min() | ||
and self.focus_window[1] >= self._data["end"].max() | ||
): | ||
self.logger.warning( | ||
" ".join( | ||
[ | ||
"Cannot expand the focus region any further ", | ||
"(all oligos already included)", | ||
] | ||
) | ||
return False | ||
) | ||
return False |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function OligoGroup.expand_focus_by_step
refactored with the following changes:
- Merge nested if conditions (
merge-nested-ifs
)
if 0 != earl.sum(): | ||
d_earl = self.focus_window[0] - max_start | ||
else: | ||
d_earl = np.inf | ||
|
||
d_earl = self.focus_window[0] - max_start if earl.sum() != 0 else np.inf | ||
late = self._data["end"].values >= self.focus_window[1] | ||
min_end = self._data.loc[late, "end"].min() | ||
if 0 != late.sum(): | ||
d_late = min_end - self.focus_window[1] | ||
else: | ||
d_late = np.inf | ||
|
||
d_late = min_end - self.focus_window[1] if late.sum() != 0 else np.inf |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function OligoGroup.__get_focus_extremes
refactored with the following changes:
- Ensure constant in comparison is on the right (
flip-comparison
) - Replace if statement with if expression (
assign-if-exp
)
if 0 == passing_oData.shape[0]: | ||
if passing_oData.shape[0] == 0: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function OligoGroup.__check_oligos_to_discard_safeN
refactored with the following changes:
- Ensure constant in comparison is on the right (
flip-comparison
)
assert all([col in oligo_data.columns for col in required_columns]) | ||
assert all(col in oligo_data.columns for col in required_columns) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function OligoProbe.data
refactored with the following changes:
- Replace unneeded comprehension with generator (
comprehension-to-generator
)
if i in path_start_set or 0 != len(A[i, i + 1].nonzero()[0]) | ||
if i in path_start_set or len(A[i, i + 1].nonzero()[0]) != 0 | ||
] | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function OligoPathBuilder.get_paths
refactored with the following changes:
- Ensure constant in comparison is on the right (
flip-comparison
)
edges = [] | ||
start_positions = oData["start"].values | ||
end_positions = oData["end"].values | ||
|
||
for i in range(oData.shape[0]): | ||
edges.append( | ||
np.logical_or( | ||
edges = [np.logical_or( | ||
end_positions + D < oData["start"].values[i], | ||
start_positions - D >= oData["end"].values[i], | ||
) | ||
) | ||
|
||
) for i in range(oData.shape[0])] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function OligoPathBuilder.get_non_overlapping_paths
refactored with the following changes:
- Convert for loop into list comprehension (
list-comprehension
)
comment = "".join([f"{r}{c}" for (c, r) in exit_polls.items()]) | ||
comment = "".join(f"{r}{c}" for (c, r) in exit_polls.items()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function OligoPathBuilder.filter_paths
refactored with the following changes:
- Replace unneeded comprehension with generator (
comprehension-to-generator
)
if 0 != len(path_list): | ||
if len(path_list) != 0: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function OligoPathBuilder.convert_paths_to_probes
refactored with the following changes:
- Ensure constant in comparison is on the right (
flip-comparison
)
assert 0 < self.Ot and 1 >= self.Ot | ||
assert self.Ot > 0 and self.Ot <= 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function OligoProbeBuilder._assert
refactored with the following changes:
- Ensure constant in comparison is on the right (
flip-comparison
)
s += "Threshold on the delta free energy of the most stable" | ||
if isinstance(self.Gs[0], int): | ||
s += "Threshold on the delta free energy of the most stable" | ||
s += f" secondary structure set at range {self.Gs} kcal/mol.\n" | ||
else: | ||
s += "Threshold on the delta free energy of the most stable" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function OligoProbeBuilder.get_prologue
refactored with the following changes:
- Hoist repeated code outside conditional statement (
hoist-statement-from-if
)
if step_style > 1: | ||
step = int(step_style) | ||
else: | ||
step = int(size * step_style) | ||
step = int(step_style) if step_style > 1 else int(size * step_style) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function GenomicRegionBuilder.build_by_size
refactored with the following changes:
- Replace if statement with if expression (
assign-if-exp
)
if 1 == self.X | ||
if self.X == 1 | ||
else np.floor((self.E - self.S) / (self.X + 1)).astype("i") | ||
) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function GenomicWindowSet._init_windows
refactored with the following changes:
- Ensure constant in comparison is on the right (
flip-comparison
)
if 0 != (self.E - self.S) % self.Ws or 1 != len(window_starts): | ||
if 0 != (self.E - self.S) % self.Ws or len(window_starts) != 1: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function GenomicWindowSet.__mk_all_window_sets
refactored with the following changes:
- Ensure constant in comparison is on the right (
flip-comparison
)
if 0 != len(non_overlapping_group_ids): | ||
if len(non_overlapping_group_ids) != 0: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function GenomicWindowSet._add_window
refactored with the following changes:
- Ensure constant in comparison is on the right (
flip-comparison
)
if record["start"] >= self.current_window["end"]: | ||
# DBHpb.clear() | ||
|
||
parsed_output = self.__process_window_async( | ||
self.current_oligos, | ||
self.current_window, | ||
self.fprocess, | ||
self.fpost, | ||
*args, | ||
opath=self.window_path, | ||
loggerName=self.logger.name, | ||
**kwargs, | ||
) | ||
if record["start"] < self.current_window["end"]: | ||
return (None, "continue") | ||
# DBHpb.clear() | ||
|
||
if self.reached_last_window: | ||
self.logger.info("Reached last window") | ||
return (None, "break") | ||
parsed_output = self.__process_window_async( | ||
self.current_oligos, | ||
self.current_window, | ||
self.fprocess, | ||
self.fpost, | ||
*args, | ||
opath=self.window_path, | ||
loggerName=self.logger.name, | ||
**kwargs, | ||
) | ||
|
||
self.go_to_next_window() | ||
self._preprocess_window() | ||
self._load_windows_until_next_to_do() | ||
if self.reached_last_window and self._window_done(): | ||
self.logger.info("Reached last window and done") | ||
return (None, "break") | ||
if self.reached_last_window: | ||
self.logger.info("Reached last window") | ||
return (None, "break") | ||
|
||
if 0 != len(self.current_oligos): | ||
self.remove_oligos_starting_before(self.current_window["start"]) | ||
self.go_to_next_window() | ||
self._preprocess_window() | ||
self._load_windows_until_next_to_do() | ||
if self.reached_last_window and self._window_done(): | ||
self.logger.info("Reached last window and done") | ||
return (None, "break") | ||
|
||
return (parsed_output, "append") | ||
return (None, "continue") | ||
if len(self.current_oligos) != 0: | ||
self.remove_oligos_starting_before(self.current_window["start"]) | ||
|
||
return (parsed_output, "append") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function Walker.__finished_parsing
refactored with the following changes:
- Ensure constant in comparison is on the right (
flip-comparison
) - Add guard clause (
last-if-guard
)
if parsing_status == "continue": | ||
if record["end"] > self.walk_destination: # End reached | ||
self.logger.info("Reached destination") | ||
return (None, "break") | ||
if parsing_status != "continue": | ||
return (parsing_output, parsing_status) | ||
if record["end"] > self.walk_destination: # End reached | ||
self.logger.info("Reached destination") | ||
return (None, "break") | ||
|
||
self.fparse(record, *args, **kwargs) | ||
self.fparse(record, *args, **kwargs) | ||
|
||
if not np.isnan(record["score"]): | ||
self.current_oligos.append(record) | ||
if not np.isnan(record["score"]): | ||
self.current_oligos.append(record) | ||
|
||
self.rw += 1 | ||
else: | ||
return (parsing_output, parsing_status) | ||
self.rw += 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function Walker.__parse_line
refactored with the following changes:
- Swap if/else branches (
swap-if-else-branches
) - Remove unnecessary else after guard condition (
remove-unnecessary-else
)
if 0 != len(self.current_oligos): | ||
if len(self.current_oligos) != 0: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function Walker.__parse_database
refactored with the following changes:
- Ensure constant in comparison is on the right (
flip-comparison
)
if s in self.walk_results.keys(): | ||
if w in self.walk_results[s].keys(): | ||
return isinstance(self.walk_results[s][w], list) | ||
if s in self.walk_results.keys() and w in self.walk_results[s].keys(): | ||
return isinstance(self.walk_results[s][w], list) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function Walker._window_done
refactored with the following changes:
- Merge nested if conditions (
merge-nested-ifs
)
if 0 == len(results): | ||
if len(results) == 0: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function Walker.fpost
refactored with the following changes:
- Ensure constant in comparison is on the right (
flip-comparison
)
if isinstance(db, str): | ||
self.__db = DataBase(db) | ||
else: | ||
self.__db = db | ||
self.__db = DataBase(db) if isinstance(db, str) else db |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function ChromosomeWalker.__init__
refactored with the following changes:
- Replace if statement with if expression (
assign-if-exp
)
if 1 == len(seq_columns): | ||
if len(seq_columns) == 1: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function reduce_sequence_columns
refactored with the following changes:
- Ensure constant in comparison is on the right (
flip-comparison
)
dtype = dict() | ||
dtype = {} | ||
dtype.update(const.dtype_melting) | ||
dtype.update(const.dtype_hush) | ||
dtype.update(const.dtype_secondary) | ||
dtype.update(dtype_sequence) | ||
dtype.update(dtype_header) | ||
|
||
for column in dtype.keys(): | ||
for column in dtype: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function run
refactored with the following changes:
- Replace dict() with {} (
dict-literal
) - Remove unnecessary call to keys() (
remove-dict-keys
)
@@ -33,4 +33,3 @@ def parse_arguments(args: argparse.Namespace) -> argparse.Namespace: | |||
@enable_rich_assert | |||
def run(args: argparse.Namespace) -> None: | |||
raise NotImplementedError | |||
logging.info("Done. :thumbs_up: :smiley:") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function run
refactored with the following changes:
- Remove unreachable code (
remove-unreachable-code
)
@@ -33,4 +33,3 @@ def parse_arguments(args: argparse.Namespace) -> argparse.Namespace: | |||
@enable_rich_assert | |||
def run(args: argparse.Namespace) -> None: | |||
raise NotImplementedError | |||
logging.info("Done. :thumbs_up: :smiley:") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function run
refactored with the following changes:
- Remove unreachable code (
remove-unreachable-code
)
ow.E = args.region[1] if args.region[1] >= 0 else 0 | ||
ow.E = max(args.region[1], 0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function run
refactored with the following changes:
- Replace comparison with min/max call (
min-max-identity
)
* Added zenodo shield. * Bump rich from 9.12.0 to 9.12.3 (#11) * Bump rich from 9.12.3 to 9.12.4 (#12) * Bump pandas from 1.2.2 to 1.2.3 (#13) * Added parser functions for HUSH, oligo-melting, and OligoArrayAux * Added assert for dtype compatibility * Added dtypes and expected database columns * Changed entry points for db related actions * Implemented db make script * Added final message. * Cosmetic changes. * Added interface for database-related scripts. * Cleaned * Added basic info script * Added DataBase and Record classes * Simplified using DataBase class. * Prepared to store other information on chromosomes (e.g., record no) * Implemented script to dump tsv to std. * Updated chromosome-related asserts, logs, and properties * Added header printing and tqdm progression * Added chromosome prefix option. Switched from defaultdict to dict for pickling * Added dump description * Added record sorting step. * Added sorted check * Cosmetic * Added ChromosomeData and ChromosomeIndex classes * Added missing declaration and exposed chromosome index * Switched from rich to tqdm. Fixed index visibility in wrappers * Added options for region dumping. * Removed redundant function * Implemented database jumping and window walk * Updated version tag and promoted to beta. Added 3.9 to GHAction. * Added Typed classifier * Linked new database and old walker. * Removed old database module. * Added indexing progress bar * Fixed dump of a region. * Changed default database index bin size to 100 kb * Fixed issue of empty index bins. * Blacked. * Refactored ChromosomeData and added ChromosomeDict class. * Dropped sequence_length column. Fixed pickling of ChromosomeData. * Added reindex entry point. * Bump rich from 9.12.4 to 9.13.0 (#15) * Bump tqdm from 4.58.0 to 4.59.0 (#16) * Split chromosome classes from database. Added docstrings. * Implementing new walker. * Implemented walker with growing focus region. * Moved database walking to walker class * Added tests. * Added test_data to package. * Added pytest setup * Fixed pytest setup * Added pytest to and updated dependencies * Moved GenomicRegion to new region module * Moved pytest and black to dev dependencies * Implemented region builder and multi walk * Implementing new query script * Fixed decoding * Added docstrings * Hidden some prototype code tagged by vulture * Fixed links * Fixed link to repo * Fixed threads check. * Updated version management. * Dropped support for Python 3.7 * Removed default number of queried probes. * Bump rich from 9.13.0 to 10.0.0 (#19) * Bump numpy from 1.20.1 to 1.20.2 (#18) * Bump rich from 10.0.0 to 10.0.1 (#20) * Bump tqdm from 4.59.0 to 4.60.0 (#23) * Bump pytest from 6.2.2 to 6.2.3 (#22) * Bump rich from 10.0.1 to 10.1.0 (#21) * Bump pandas from 1.2.3 to 1.2.4 (#24) * Bump black from 20.8b1 to 21.4b0 (#25) * Bump black from 21.4b0 to 21.4b1 (#26) * Bump black from 21.4b1 to 21.4b2 (#27) * Bump black from 21.4b2 to 21.5b0 (#28) * Bump pytest from 6.2.3 to 6.2.4 (#29) * Bump rich from 10.1.0 to 10.2.0 (#32) * Bump black from 21.5b0 to 21.5b1 (#31) * Bump numpy from 1.20.2 to 1.20.3 (#30) * Bump rich from 10.2.0 to 10.2.2 (#34) * Bump black from 21.5b1 to 21.5b2 (#36) * Bump tqdm from 4.60.0 to 4.61.0 (#35) * Bump rich from 10.2.2 to 10.3.0 (#37) * Bump black from 21.5b2 to 21.6b0 (#38) * Bump tqdm from 4.61.0 to 4.61.1 (#39) * Bump rich from 10.3.0 to 10.4.0 (#40) * Bump pandas from 1.2.4 to 1.2.5 (#41) * Bump numpy from 1.20.3 to 1.21.0 (#42) * Bump pandas from 1.2.5 to 1.3.0 (#43) * Bump rich from 10.4.0 to 10.5.0 (#45) * Bump tqdm from 4.61.1 to 4.61.2 (#44) * Bump rich from 10.5.0 to 10.6.0 (#46) * Bump black from 21.6b0 to 21.7b0 (#47) * Bump numpy from 1.21.0 to 1.21.1 (#48) * Bump tqdm from 4.61.2 to 4.62.0 (#50) * Bump pandas from 1.3.0 to 1.3.1 (#49) * Bump rich from 10.6.0 to 10.7.0 (#51) * Bump tqdm from 4.62.0 to 4.62.1 (#52) * Bump pandas from 1.3.1 to 1.3.2 (#53) * Bump tqdm from 4.62.1 to 4.62.2 (#54) * Bump rich from 10.7.0 to 10.9.0 (#55) * Bump black from 21.7b0 to 21.8b0 (#56) * Bump pytest from 6.2.4 to 6.2.5 (#57) * 'Refactored by Sourcery' (#58) Co-authored-by: Sourcery AI <> * Blacked, flaked, and mypyed * Bump pandas from 1.3.2 to 1.3.3 (#59) * Bump black from 21.8b0 to 21.9b0 (#60) * Bump rich from 10.9.0 to 10.10.0 (#61) * Bump tqdm from 4.62.2 to 4.62.3 (#62) * Bump rich from 10.10.0 to 10.11.0 (#63) * Argparse to click (#65) * Updated dependencies * Preparing for click. * Swapped argparse for click and using dataclasses * 'Refactored by Sourcery' (#66) Co-authored-by: Sourcery AI <> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Blacked * 'Refactored by Sourcery' (#67) Co-authored-by: Sourcery AI <> * Blacked. * Now passing tests. * Added biopython dependency and extract_kmers script. (#68) * 'Refactored by Sourcery' (#70) Co-authored-by: Sourcery AI <> * Improved extract_kmers script * 'Refactored by Sourcery' (#71) Co-authored-by: Sourcery AI <> * Mypyed after sorcery refactoring * Bump rich from 10.11.0 to 10.12.0 (#72) * Added autocompletion. (#73) * Added autocompletion. * 'Refactored by Sourcery' (#74) Co-authored-by: Sourcery AI <> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * Fixed __path__ * Added missing fasta header starting character * Bump click from 8.0.1 to 8.0.3 (#75) * Added compatibility with previous database pickled arguments. * Added pre-commits. * Fixed spelling * Added support for hush gzipped files * Create .deepsource.toml * Fix comparison constant position (#76) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * Replace `dict` call with comprehension (#77) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * Remove unnecessary use of comprehension (#78) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * Change methods not using its bound instance to staticmethods (#79) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * Remove assert statement from non-test files (#80) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * Set `check` flag to `True` (#82) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * Remove implicit `object` from the base class (#83) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * Remove assert statement from non-test files (#84) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * Refactor unnecessary `else` / `elif` when `if` block has a `continue` statement (#85) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * Refactor unnecessary `else` / `elif` when `if` block has a `return` statement (#86) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * Use literal syntax to create data structure (#87) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * Merge collapsible `if` statements (#88) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * fix: added docstring explaining emptiness. * fix: added docstring explaining emptiness. * Refactor unnecessary `else` / `elif` when `if` block has a `raise` statement (#89) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * Remove unnecessary `pass` (#90) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * Remove methods with unnecessary super delegation. (#91) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * fix: probe selection & unreachable statements * Remove unused private attribute (#92) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * fix: Multi-line docstring closing quotes should be on a separate line * fix: swapped single for double quotes * fix: inconsistent return statements * fix: blacked. * fix: process from shell, escaping parameters * fix: inconsistent return statements * fix: removed unused private attribute * fix: escaping shell subprocess cmd * fix: open files with `with` statement * fix: quoted upon subprocess spawning * Merge collapsible `with` statements (#95) Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> * fix: blacked * 'Refactored by Sourcery' (#81) Co-authored-by: Sourcery AI <> * Dropped broken scripts test. * fix: added test placeholder * Bump pandas from 1.3.3 to 1.3.4 (#97) * Bump black from 21.9b0 to 21.10b0 (#98) * Bump rich from 10.12.0 to 10.13.0 (#99) * Bump black from 21.10b0 to 21.11b0 (#100) * Bump rich from 10.13.0 to 10.14.0 (#101) * Bump black from 21.11b0 to 21.11b1 (#102) * fix: wrong condition of path_exists function * fix: correct variable names * fix: assertions on input params * Bump rich from 10.14.0 to 10.15.0 (#103) * Bump rich from 10.15.0 to 10.15.1 (#104) * Bump rich from 10.15.1 to 10.15.2 (#105) * Bump black from 21.11b1 to 21.12b0 (#106) * fix: minor assert change * fix: trove classifier * doc: updated with version flag * docs: updated version flag * feat: updated lock file Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
Branch
dev
refactored by Sourcery.If you're happy with these changes, merge this Pull Request using the Squash and merge strategy.
See our documentation here.
Run Sourcery locally
Reduce the feedback loop during development by using the Sourcery editor plugin:
Review changes via command line
To manually merge these changes, make sure you're on the
dev
branch, then run:Help us improve this pull request!