Skip to content

Travis CI: Run black, doctest, flake8, mypy, and pytest #964

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

Merged
merged 37 commits into from
Jul 8, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
bc437e4
Travis CI: Add type checking with mypy
cclauss Jul 6, 2019
5dd8090
Create requirements.txt
cclauss Jul 6, 2019
d3d5a39
script: mypy --ignore-missing-stubs=cv2,numpy .
cclauss Jul 6, 2019
3f32aa8
Delete requirements.txt
cclauss Jul 6, 2019
ed1e00a
script: mypy --ignore-missing-imports .
cclauss Jul 6, 2019
6950950
Run doctests
cclauss Jul 6, 2019
d612c3a
Disable doctest -v other/detecting_english_programmatically.py
cclauss Jul 6, 2019
6846fcc
Pytest
cclauss Jul 6, 2019
9c7f9da
No |
cclauss Jul 6, 2019
d371f76
pytest || true
cclauss Jul 6, 2019
276b248
Run black doctest flake8 mypy pytest
cclauss Jul 6, 2019
5ca5b43
after_success: Build Directory.md
cclauss Jul 6, 2019
5ad53a7
Typo in filename: Dictionary.txt --> dictionary.txt'
cclauss Jul 6, 2019
047216f
python -m doctest -v
cclauss Jul 6, 2019
bd02765
pip install black flake8 mypy pytest
cclauss Jul 6, 2019
9994794
pytest --doctest-glob='*.py'
cclauss Jul 6, 2019
86bdb71
pytest --doctest-modules
cclauss Jul 6, 2019
19b45dd
pytest --doctest-modules ./sorts
cclauss Jul 6, 2019
5a1a398
pytest --doctest-modules ./ciphers ./other ./searches ./sorts ./strin…
cclauss Jul 6, 2019
a37327d
if __name__ == "__main__":
cclauss Jul 6, 2019
002287d
if __name__ == "__main__":
cclauss Jul 6, 2019
cec7e16
if __name__ == '__main__':
cclauss Jul 6, 2019
28d9e6d
if __name__ == '__main__':
cclauss Jul 6, 2019
1c27abc
if __name__ == '__main__':
cclauss Jul 6, 2019
704bf00
Create requirements.txt
cclauss Jul 6, 2019
3456316
Update requirements.txt
cclauss Jul 6, 2019
769f66d
if __name__ == "__main__":
cclauss Jul 6, 2019
122bf27
Lose the doctests
cclauss Jul 6, 2019
9ae08f3
if __name__ == '__main__':
cclauss Jul 6, 2019
03b4bdd
Remove print-a-tuple
cclauss Jul 6, 2019
8b55aff
doctest: Added missing spaces
cclauss Jul 6, 2019
33a8723
Update tabu_search.py
cclauss Jul 6, 2019
32349c1
The >>> are not doctests so change to >>)
cclauss Jul 6, 2019
5bc5634
Travis CI: Run black, doctest, flake8, mypy, and pytest
cclauss Jul 6, 2019
976f914
Link to the separate DIRECTORY.md file
cclauss Jul 7, 2019
364014b
Merge branch 'master' into mypy-on-Travis-CI
cclauss Jul 7, 2019
fab6bc2
Update README.md
poyea Jul 8, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
language: python
dist: xenial # required for Python >= 3.7
python: 3.7
install: pip install flake8
script: flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
cache: pip
install: pip install -r requirements.txt
before_script:
- black --check . || true
- flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why these lines are in before_script and why black has || true?

Copy link
Member Author

@cclauss cclauss Jul 6, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successful before_script results are hidden under twisties so they do not clutter the error log so contributors can go straight to the heart of the problems.

black will fail badly in the near term because we do not mandate formatted code. However, we want to be able to understand improvement as we make it without failing the build.

script:
- mypy --ignore-missing-imports .
- pytest --doctest-modules ./ciphers ./other ./searches ./sorts ./strings
Copy link
Contributor

@sirex sirex Jul 6, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also it would be nice to add pytest-cov and generate coverage report?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I am not a fan of coverage tools. We do not mandate tests.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sirex It has been a busy two weeks but now we have 132 pytests passing so I think we could add pytest-cov to Travis CI as you suggested above. Please consider submitting a pull request that modifies .travis.yml so that it runs pytest-cov.

after_success:
- python ./~script.py
- cat DIRECTORY.md
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well if we want to change the directory while merging, do we need a bot?

339 changes: 4 additions & 335 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ These implementations are for learning purposes. They may be less efficient than

Anup Kumar Panwar
  [[Gmail](mailto:[email protected]?Subject=The%20Algorithms%20-%20Python)
  [Gihub](https://github.com/anupkumarpanwar)
  [GitHub](https://github.com/anupkumarpanwar)
  [LinkedIn](https://www.linkedin.com/in/anupkumarpanwar/)]

Chetan Kaushik
  [[Gmail](mailto:[email protected]?Subject=The%20Algorithms%20-%20Python)
  [Gihub](https://github.com/dynamitechetan)
  [GitHub](https://github.com/dynamitechetan)
  [LinkedIn](https://www.linkedin.com/in/chetankaushik/)]

## Contribution Guidelines
Expand All @@ -28,337 +28,6 @@ Read our [Contribution Guidelines](CONTRIBUTING.md) before you contribute.

We're on [Gitter](https://gitter.im/TheAlgorithms)! Please join us.

# Algorithms
## Algorithms

## Hashes

- [Md5](./hashes/md5.py)
- [Chaos Machine](./hashes/chaos_machine.py)
- [Sha1](./hashes/sha1.py)

## File Transfer Protocol

- [Ftp Client Server](./file_transfer_protocol/ftp_client_server.py)
- [Ftp Send Receive](./file_transfer_protocol/ftp_send_receive.py)

## Backtracking

- [N Queens](./backtracking/n_queens.py)
- [Sum Of Subsets](./backtracking/sum_of_subsets.py)
- [All Subsequences](./backtracking/all_subsequences.py)
- [All Permutations](./backtracking/all_permutations.py)

## Ciphers

- [Transposition Cipher](./ciphers/transposition_cipher.py)
- [Atbash](./ciphers/Atbash.py)
- [Rot13](./ciphers/rot13.py)
- [Rabin Miller](./ciphers/rabin_miller.py)
- [Transposition Cipher Encrypt Decrypt File](./ciphers/transposition_cipher_encrypt_decrypt_file.py)
- [Affine Cipher](./ciphers/affine_cipher.py)
- [Trafid Cipher](./ciphers/trafid_cipher.py)
- [Base16](./ciphers/base16.py)
- [Elgamal Key Generator](./ciphers/elgamal_key_generator.py)
- [Rsa Cipher](./ciphers/rsa_cipher.py)
- [Prehistoric Men.txt](./ciphers/prehistoric_men.txt)
- [Vigenere Cipher](./ciphers/vigenere_cipher.py)
- [Xor Cipher](./ciphers/xor_cipher.py)
- [Brute Force Caesar Cipher](./ciphers/brute_force_caesar_cipher.py)
- [Rsa Key Generator](./ciphers/rsa_key_generator.py)
- [Simple Substitution Cipher](./ciphers/simple_substitution_cipher.py)
- [Playfair Cipher](./ciphers/playfair_cipher.py)
- [Morse Code Implementation](./ciphers/morse_Code_implementation.py)
- [Base32](./ciphers/base32.py)
- [Base85](./ciphers/base85.py)
- [Base64 Cipher](./ciphers/base64_cipher.py)
- [Onepad Cipher](./ciphers/onepad_cipher.py)
- [Caesar Cipher](./ciphers/caesar_cipher.py)
- [Hill Cipher](./ciphers/hill_cipher.py)
- [Cryptomath Module](./ciphers/cryptomath_module.py)

## Arithmetic Analysis

- [Bisection](./arithmetic_analysis/bisection.py)
- [Newton Method](./arithmetic_analysis/newton_method.py)
- [Newton Raphson Method](./arithmetic_analysis/newton_raphson_method.py)
- [Intersection](./arithmetic_analysis/intersection.py)
- [Lu Decomposition](./arithmetic_analysis/lu_decomposition.py)

## Boolean Algebra

- [Quine Mc Cluskey](./boolean_algebra/quine_mc_cluskey.py)

## Traversals

- [Binary Tree Traversals](./traversals/binary_tree_traversals.py)

## Maths

- [Average](./maths/average.py)
- [Abs Max](./maths/abs_Max.py)
- [Average Median](./maths/average_median.py)
- [Trapezoidal Rule](./maths/trapezoidal_rule.py)
- [Prime Check](./maths/Prime_Check.py)
- [Modular Exponential](./maths/modular_exponential.py)
- [Newton Raphson](./maths/newton_raphson.py)
- [Factorial Recursive](./maths/factorial_recursive.py)
- [Extended Euclidean Algorithm](./maths/extended_euclidean_algorithm.py)
- [Greater Common Divisor](./maths/greater_common_divisor.py)
- [Fibonacci](./maths/fibonacci.py)
- [Find Lcm](./maths/find_lcm.py)
- [Find Max](./maths/Find_Max.py)
- [Fermat Little Theorem](./maths/fermat_little_theorem.py)
- [Factorial Python](./maths/factorial_python.py)
- [Fibonacci Sequence Recursion](./maths/fibonacci_sequence_recursion.py)
- [Sieve Of Eratosthenes](./maths/sieve_of_eratosthenes.py)
- [Abs Min](./maths/abs_Min.py)
- [Lucas Series](./maths/lucasSeries.py)
- [Segmented Sieve](./maths/segmented_sieve.py)
- [Find Min](./maths/Find_Min.py)
- [Abs](./maths/abs.py)
- [Simpson Rule](./maths/simpson_rule.py)
- [Basic Maths](./maths/basic_maths.py)
- [3n+1](./maths/3n+1.py)
- [Binary Exponentiation](./maths/Binary_Exponentiation.py)

## Digital Image Processing

- ## Filters

- [Median Filter](./digital_image_processing/filters/median_filter.py)
- [Gaussian Filter](./digital_image_processing/filters/gaussian_filter.py)


## Compression

- [Peak Signal To Noise Ratio](./compression/peak_signal_to_noise_ratio.py)
- [Huffman](./compression/huffman.py)

## Graphs

- [BFS Shortest Path](./graphs/bfs_shortest_path.py)
- [Directed And Undirected (Weighted) Graph](<./graphs/Directed_and_Undirected_(Weighted)_Graph.py>)
- [Minimum Spanning Tree Prims](./graphs/minimum_spanning_tree_prims.py)
- [Graph Matrix](./graphs/graph_matrix.py)
- [Basic Graphs](./graphs/basic_graphs.py)
- [Dijkstra 2](./graphs/dijkstra_2.py)
- [Tarjans Strongly Connected Components](./graphs/tarjans_scc.py)
- [Check Bipartite Graph BFS](./graphs/check_bipartite_graph_bfs.py)
- [Depth First Search](./graphs/depth_first_search.py)
- [Kahns Algorithm Long](./graphs/kahns_algorithm_long.py)
- [Breadth First Search](./graphs/breadth_first_search.py)
- [Dijkstra](./graphs/dijkstra.py)
- [Articulation Points](./graphs/articulation_points.py)
- [Bellman Ford](./graphs/bellman_ford.py)
- [Check Bipartite Graph Dfs](./graphs/check_bipartite_graph_dfs.py)
- [Strongly Connected Components Kosaraju](./graphs/scc_kosaraju.py)
- [Multi Hueristic Astar](./graphs/multi_hueristic_astar.py)
- [Page Rank](./graphs/page_rank.py)
- [Eulerian Path And Circuit For Undirected Graph](./graphs/Eulerian_path_and_circuit_for_undirected_graph.py)
- [Edmonds Karp Multiple Source And Sink](./graphs/edmonds_karp_multiple_source_and_sink.py)
- [Floyd Warshall](./graphs/floyd_warshall.py)
- [Minimum Spanning Tree Kruskal](./graphs/minimum_spanning_tree_kruskal.py)
- [Prim](./graphs/prim.py)
- [Kahns Algorithm Topo](./graphs/kahns_algorithm_topo.py)
- [BFS](./graphs/BFS.py)
- [Finding Bridges](./graphs/finding_bridges.py)
- [Graph List](./graphs/graph_list.py)
- [Dijkstra Algorithm](./graphs/dijkstra_algorithm.py)
- [A Star](./graphs/a_star.py)
- [Even Tree](./graphs/even_tree.py)
- [DFS](./graphs/DFS.py)

## Networking Flow

- [Minimum Cut](./networking_flow/minimum_cut.py)
- [Ford Fulkerson](./networking_flow/ford_fulkerson.py)

## Matrix

- [Matrix Operation](./matrix/matrix_operation.py)
- [Searching In Sorted Matrix](./matrix/searching_in_sorted_matrix.py)
- [Spiral Print](./matrix/spiral_print.py)

## Searches

- [Quick Select](./searches/quick_select.py)
- [Binary Search](./searches/binary_search.py)
- [Interpolation Search](./searches/interpolation_search.py)
- [Jump Search](./searches/jump_search.py)
- [Linear Search](./searches/linear_search.py)
- [Ternary Search](./searches/ternary_search.py)
- [Tabu Search](./searches/tabu_search.py)
- [Sentinel Linear Search](./searches/sentinel_linear_search.py)

## Conversions

- [Decimal To Binary](./conversions/decimal_to_binary.py)
- [Decimal To Octal](./conversions/decimal_to_octal.py)

## Dynamic Programming

- [Fractional Knapsack](./dynamic_programming/Fractional_Knapsack.py)
- [Sum Of Subset](./dynamic_programming/sum_of_subset.py)
- [Fast Fibonacci](./dynamic_programming/fast_fibonacci.py)
- [Bitmask](./dynamic_programming/bitmask.py)
- [Abbreviation](./dynamic_programming/abbreviation.py)
- [Rod Cutting](./dynamic_programming/rod_cutting.py)
- [Knapsack](./dynamic_programming/knapsack.py)
- [Max Sub Array](./dynamic_programming/max_sub_array.py)
- [Fibonacci](./dynamic_programming/fibonacci.py)
- [Minimum Partition](./dynamic_programming/minimum_partition.py)
- [K Means Clustering Tensorflow](./dynamic_programming/k_means_clustering_tensorflow.py)
- [Coin Change](./dynamic_programming/coin_change.py)
- [Subset Generation](./dynamic_programming/subset_generation.py)
- [Floyd Warshall](./dynamic_programming/floyd_warshall.py)
- [Longest Sub Array](./dynamic_programming/longest_sub_array.py)
- [Integer Partition](./dynamic_programming/integer_partition.py)
- [Matrix Chain Order](./dynamic_programming/matrix_chain_order.py)
- [Edit Distance](./dynamic_programming/edit_distance.py)
- [Longest Common Subsequence](./dynamic_programming/longest_common_subsequence.py)
- [Longest Increasing Subsequence O(nlogn)](<./dynamic_programming/longest_increasing_subsequence_O(nlogn).py>)
- [Longest Increasing Subsequence](./dynamic_programming/longest_increasing_subsequence.py)

## Divide And Conquer

- [Max Subarray Sum](./divide_and_conquer/max_subarray_sum.py)
- [Closest Pair Of Points](./divide_and_conquer/closest_pair_of_points.py)

## Strings

- [Knuth Morris Pratt](./strings/knuth_morris_pratt.py)
- [Rabin Karp](./strings/rabin_karp.py)
- [Naive String Search](./strings/naive_String_Search.py)
- [Levenshtein Distance](./strings/levenshtein_distance.py)
- [Min Cost String Conversion](./strings/min_cost_string_conversion.py)
- [Boyer Moore Search](./strings/Boyer_Moore_Search.py)
- [Manacher](./strings/manacher.py)

## Sorts

- [Quick Sort](./sorts/quick_sort.py)
- [Selection Sort](./sorts/selection_sort.py)
- [Bitonic Sort](./sorts/Bitonic_Sort.py)
- [Cycle Sort](./sorts/cycle_sort.py)
- [Comb Sort](./sorts/comb_sort.py)
- [Topological Sort](./sorts/topological_sort.py)
- [Merge Sort Fastest](./sorts/merge_sort_fastest.py)
- [Random Pivot Quick Sort](./sorts/random_pivot_quick_sort.py)
- [Heap Sort](./sorts/heap_sort.py)
- [Insertion Sort](./sorts/insertion_sort.py)
- [Counting Sort](./sorts/counting_sort.py)
- [Bucket Sort](./sorts/bucket_sort.py)
- [Quick Sort 3 Partition](./sorts/quick_sort_3_partition.py)
- [Bogo Sort](./sorts/bogo_sort.py)
- [Shell Sort](./sorts/shell_sort.py)
- [Pigeon Sort](./sorts/pigeon_sort.py)
- [Odd-Even Transposition Parallel](./sorts/Odd-Even_transposition_parallel.py)
- [Tree Sort](./sorts/tree_sort.py)
- [Cocktail Shaker Sort](./sorts/cocktail_shaker_sort.py)
- [Random Normal Distribution Quicksort](./sorts/random_normal_distribution_quicksort.py)
- [Wiggle Sort](./sorts/wiggle_sort.py)
- [Pancake Sort](./sorts/pancake_sort.py)
- [External Sort](./sorts/external_sort.py)
- [Tim Sort](./sorts/tim_sort.py)
- [Sorting Graphs.png](./sorts/sorting_graphs.png)
- [Radix Sort](./sorts/radix_sort.py)
- [Odd-Even Transposition Single-threaded](./sorts/Odd-Even_transposition_single-threaded.py)
- [Bubble Sort](./sorts/bubble_sort.py)
- [Gnome Sort](./sorts/gnome_sort.py)
- [Merge Sort](./sorts/merge_sort.py)

## Machine Learning

- [Perceptron](./machine_learning/perceptron.py)
- [Random Forest Classifier](./machine_learning/random_forest_classification/random_forest_classifier.ipynb)
- [NaiveBayes.ipynb](./machine_learning/NaiveBayes.ipynb)
- [Scoring Functions](./machine_learning/scoring_functions.py)
- [Logistic Regression](./machine_learning/logistic_regression.py)
- [Gradient Descent](./machine_learning/gradient_descent.py)
- [Linear Regression](./machine_learning/linear_regression.py)
- [Random Forest Regression](./machine_learning/random_forest_regression/random_forest_regression.py)
- [Random Forest Regression](./machine_learning/random_forest_regression/random_forest_regression.ipynb)
- [Reuters One Vs Rest Classifier.ipynb](./machine_learning/reuters_one_vs_rest_classifier.ipynb)
- [Decision Tree](./machine_learning/decision_tree.py)
- [Knn Sklearn](./machine_learning/knn_sklearn.py)
- [K Means Clust](./machine_learning/k_means_clust.py)

## Neural Network

- [Perceptron](./neural_network/perceptron.py)
- [Fully Connected Neural Network](./neural_network/fully_connected_neural_network.ipynb)
- [Convolution Neural Network](./neural_network/convolution_neural_network.py)
- [Back Propagation Neural Network](./neural_network/back_propagation_neural_network.py)

## Data Structures

- ## Binary Tree

- [Basic Binary Tree](./data_structures/binary_tree/basic_binary_tree.py)
- [Red Black Tree](./data_structures/binary_tree/red_black_tree.py)
- [Fenwick Tree](./data_structures/binary_tree/fenwick_tree.py)
- [Treap](./data_structures/binary_tree/treap.py)
- [AVL Tree](./data_structures/binary_tree/AVL_tree.py)
- [Segment Tree](./data_structures/binary_tree/segment_tree.py)
- [Lazy Segment Tree](./data_structures/binary_tree/lazy_segment_tree.py)
- [Binary Search Tree](./data_structures/binary_tree/binary_search_tree.py)

- ## Trie

- [Trie](./data_structures/trie/trie.py)

- ## Linked List

- [Swap Nodes](./data_structures/linked_list/swap_nodes.py)
- [Doubly Linked List](./data_structures/linked_list/doubly_linked_list.py)
- [Singly Linked List](./data_structures/linked_list/singly_linked_list.py)
- [Is Palindrome](./data_structures/linked_list/is_Palindrome.py)

- ## Stacks

- [Postfix Evaluation](./data_structures/stacks/postfix_evaluation.py)
- [Balanced Parentheses](./data_structures/stacks/balanced_parentheses.py)
- [Infix To Prefix Conversion](./data_structures/stacks/infix_to_prefix_conversion.py)
- [Stack](./data_structures/stacks/stack.py)
- [Infix To Postfix Conversion](./data_structures/stacks/infix_to_postfix_conversion.py)
- [Next Greater Element](./data_structures/stacks/next_greater_element.py)
- [Stock Span Problem](./data_structures/stacks/stock_span_problem.py)

- ## Queue

- [Queue On Pseudo Stack](./data_structures/queue/queue_on_pseudo_stack.py)
- [Double Ended Queue](./data_structures/queue/double_ended_queue.py)
- [Queue On List](./data_structures/queue/queue_on_list.py)

- ## Heap

- [Heap](./data_structures/heap/heap.py)

- ## Hashing

- [Hash Table With Linked List](./data_structures/hashing/hash_table_with_linked_list.py)
- [Quadratic Probing](./data_structures/hashing/quadratic_probing.py)
- [Hash Table](./data_structures/hashing/hash_table.py)
- [Double Hash](./data_structures/hashing/double_hash.py)


## Other

- [Detecting English Programmatically](./other/detecting_english_programmatically.py)
- [Fischer Yates Shuffle](./other/fischer_yates_shuffle.py)
- [Primelib](./other/primelib.py)
- [Binary Exponentiation 2](./other/binary_exponentiation_2.py)
- [Anagrams](./other/anagrams.py)
- [Palindrome](./other/palindrome.py)
- [Finding Primes](./other/finding_Primes.py)
- [Two Sum](./other/two_sum.py)
- [Password Generator](./other/password_generator.py)
- [Linear Congruential Generator](./other/linear_congruential_generator.py)
- [Frequency Finder](./other/frequency_finder.py)
- [Euclidean Gcd](./other/euclidean_gcd.py)
- [Word Patterns](./other/word_patterns.py)
- [Nested Brackets](./other/nested_brackets.py)
- [Binary Exponentiation](./other/binary_exponentiation.py)
- [Sierpinski Triangle](./other/sierpinski_triangle.py)
- [Game Of Life](./other/game_of_life.py)
- [Tower Of Hanoi](./other/tower_of_hanoi.py)
See our [directory](DIRECTORY.md).
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Explicit is better than implicit.

4 changes: 3 additions & 1 deletion ciphers/Atbash.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,6 @@ def Atbash():
output+=i
print(output)

Atbash()

if __name__ == '__main__':
Atbash()
5 changes: 4 additions & 1 deletion ciphers/caesar_cipher.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,7 @@ def main():
elif choice == '4':
print ("Goodbye.")
break
main()


if __name__ == '__main__':
main()
2 changes: 1 addition & 1 deletion other/detecting_english_programmatically.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
def loadDictionary():
path = os.path.split(os.path.realpath(__file__))
englishWords = {}
with open(path[0] + '/Dictionary.txt') as dictionaryFile:
with open(path[0] + '/dictionary.txt') as dictionaryFile:
for word in dictionaryFile.read().split('\n'):
englishWords[word] = None
return englishWords
Expand Down
Loading