diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..9a99dea --- /dev/null +++ b/flake.lock @@ -0,0 +1,148 @@ +{ + "nodes": { + "lix-unit": { + "inputs": { + "mdbook-nixdoc": [ + "pyproject-nix", + "mdbook-nixdoc" + ], + "nix-github-actions": [ + "pyproject-nix", + "nix-github-actions" + ], + "nixpkgs": [ + "pyproject-nix", + "nixpkgs" + ], + "treefmt-nix": [ + "pyproject-nix", + "treefmt-nix" + ] + }, + "locked": { + "lastModified": 1727322567, + "narHash": "sha256-scZo6AyJTxTK9wYW0HmWDzLxVxOoFr7/XkIVJCmmOe4=", + "owner": "adisbladis", + "repo": "lix-unit", + "rev": "59c489dbc5b27a83fadc94fde2c2b69abb4c0e80", + "type": "github" + }, + "original": { + "owner": "adisbladis", + "repo": "lix-unit", + "type": "github" + } + }, + "mdbook-nixdoc": { + "inputs": { + "nix-github-actions": [ + "pyproject-nix", + "nix-github-actions" + ], + "nixpkgs": [ + "pyproject-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1708395692, + "narHash": "sha256-smf0VmxGbjJDZqKvxxG3ZVqubgbVwAWG26wPo+BT/A0=", + "owner": "adisbladis", + "repo": "mdbook-nixdoc", + "rev": "d6a71b114b9221c0b4f20d31b81766d072cc26be", + "type": "github" + }, + "original": { + "owner": "adisbladis", + "repo": "mdbook-nixdoc", + "type": "github" + } + }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "pyproject-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1720066371, + "narHash": "sha256-uPlLYH2S0ACj0IcgaK9Lsf4spmJoGejR9DotXiXSBZQ=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "622f829f5fe69310a866c8a6cd07e747c44ef820", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 0, + "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=", + "path": "/nix/store/riqkpszjqk02bi1wppfg8ip5xvh102qd-source", + "type": "path" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "pyproject-nix": { + "inputs": { + "lix-unit": "lix-unit", + "mdbook-nixdoc": "mdbook-nixdoc", + "nix-github-actions": "nix-github-actions", + "nixpkgs": [ + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1730052395, + "narHash": "sha256-5H4qnt59qHP3jCT8uN/cS33UOXb8NWexp6VoOZWNg/8=", + "owner": "nix-community", + "repo": "pyproject.nix", + "rev": "4f11e92083538681d011750dbe3450782e9e0e50", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "pyproject.nix", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "pyproject-nix": "pyproject-nix" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "pyproject-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1727252110, + "narHash": "sha256-3O7RWiXpvqBcCl84Mvqa8dXudZ1Bol1ubNdSmQt7nF4=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "1bff2ba6ec22bc90e9ad3f7e94cca0d37870afa3", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix index c61f7fd..1bd80dd 100644 --- a/flake.nix +++ b/flake.nix @@ -36,7 +36,16 @@ in # Create a devShell like normal. - pkgs.mkShell { packages = [ pythonEnv ]; }; + pkgs.mkShell { + packages = [ + pythonEnv + pkgs.python311Packages.python-lsp-server + pkgs.python311Packages.python-lsp-ruff + pkgs.python311Packages.pylsp-mypy + pkgs.python311Packages.mypy + pkgs.python311Packages.isort + ]; + }; # Build our package using `buildPythonPackage packages.x86_64-linux.default = diff --git a/pyproject.toml b/pyproject.toml index 0c313a2..98cd69f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,9 +12,8 @@ version = "0.0.1" readme = "README.md" requires-python = ">=3.7" dependencies = [ - "requests > 2.26.0", - "pandas" + "yfinance" ] [project.scripts] -stock = "stock:main" +stock = "stock.stock:main" diff --git a/stock/__init__.py b/stock/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/stock/stock.py b/stock/stock.py new file mode 100644 index 0000000..c586d9f --- /dev/null +++ b/stock/stock.py @@ -0,0 +1,25 @@ +import yfinance as yf +import json +import argparse + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("stocks", metavar="N", type=str, nargs="+") + + args = parser.parse_args() + + stocks = args.stocks + daylows = [{"stock": stock, "daylow": return_daylow(stock)} for stock in stocks] + + print(json.dumps(daylows)) + + +def return_daylow(stock: str): + msft = yf.Ticker(stock) + + return msft.info.get("dayLow") + + +if __name__ == "__main__": + main()