From ced08a16f14f74f2f1fb5dfb52f3410161a29c86 Mon Sep 17 00:00:00 2001 From: Jonathan Karr Date: Fri, 9 Aug 2024 15:36:14 -0700 Subject: [PATCH] feat(docs): minor edits to docs (#69) - platform -> OS - workspace -> folder - Normalize capitalization of data hub, compute hub, workstation, Python - Lint: removed trailing spaces and consecutive blank lines in docs --- docs/compute-hub/index.md | 8 ++--- docs/configure.md | 2 +- docs/data-hub/index.md | 26 ++++++++--------- docs/how-to/auth.md | 12 ++++---- docs/how-to/data-hub/create.md | 24 +++++---------- docs/how-to/data-hub/delete.md | 47 ++++++++++-------------------- docs/how-to/data-hub/list-data.md | 2 +- docs/how-to/variables.md | 6 ++-- mkdocs.yaml | 4 +-- src/auth.py | 4 +-- src/cli/data.py | 35 ++++++++++++---------- src/cli/variables.py | 10 +++---- src/data_hub/api.py | 18 ++++++------ src/variables/base_type.py | 8 ++--- src/variables/core.py | 12 ++++---- src/variables/types/aws_profile.py | 18 ++++++------ src/variables/types/env_var.py | 4 +-- 17 files changed, 107 insertions(+), 133 deletions(-) diff --git a/docs/compute-hub/index.md b/docs/compute-hub/index.md index 26b1d71..c5e3de9 100644 --- a/docs/compute-hub/index.md +++ b/docs/compute-hub/index.md @@ -1,7 +1,7 @@ -# Compute Hub +# Compute hub -The Deep Origin Compute Hub allows you create and use powerful workstations that come with pre-installed software packages. Deep Origin was built to help computational scientists get clean data from their labs and perform advanced analyses and simulations. +The Deep Origin compute hub allows you create and use powerful workstations with pre-installed software packages. Deep Origin was built to help computational scientists get clean data from their labs and perform advanced analyses and simulations. -Every Deep Origin Workstation comes pre-installed and pre-configured with this python client and CLI. +Each Deep Origin workstation comes pre-installed and pre-configured with this Python client and CLI. -Read more about the Compute Hub [here :octicons-link-external-16:](https://docs.deeporigin.io/docs/os/compute-hub). \ No newline at end of file +Learn more about the compute hub [here :octicons-link-external-16:](https://docs.deeporigin.io/docs/os/compute-hub). diff --git a/docs/configure.md b/docs/configure.md index a09723a..d2abf1b 100644 --- a/docs/configure.md +++ b/docs/configure.md @@ -20,7 +20,7 @@ To view the configuration for this package, run: deeporigin config show ``` -This will display a table like below: +This will display a table such as below: ``` ╭─────────────────────────────┬─────────────────────────────────────╮ diff --git a/docs/data-hub/index.md b/docs/data-hub/index.md index 88733c8..80ce152 100644 --- a/docs/data-hub/index.md +++ b/docs/data-hub/index.md @@ -1,18 +1,16 @@ -# Data Hub +# Data hub The Deep Origin data hub provides R&D teams a foundation for collaboratively capturing data, extracting insights, and making decisions: -- Databases for capturing rows of data, metadata, and procedures. - - Customizable columns for capturing structured information such as the age and genotype of a sample. - - Notebooks such as for common protocols and recording experiments. - - File columns and notebook attachments for capturing files such as the results of experiments. - - Reference columns and notebook mentions for capturing relationships, such as the chemical, RNA, antibody, or cell line that an assay characterized. -- Folders for hierarchically organizing data, such as by project, team, or experimental modality. -- Column and file viewers such as for visualizing the sequence of a plasmid or the structure of a chemical or protein. -- Chart studio for interactively analyzing columnar data. -- AI assistant for interactively analyze and visualize data. -- Advanced computational analysis with workflows and workstations. -- Process flows and automations for streamlining data processing, decision-making, and project management. +- **Databases** for capturing rows of data, metadata, and procedures. + - Customizable columns for capturing structured information such as the age and genotype of a sample. + - **Notebooks** such as for common protocols and recording experiments. + - File columns and notebook attachments for capturing files such as the results of experiments. + - Reference columns and notebook mentions for capturing relationships, such as the chemical, RNA, antibody, or cell line that an assay characterized. +- **Folders** for hierarchically organizing data, such as by project, team, or experimental modality. +- **Column and file viewers** such as for visualizing the sequence of a plasmid or the structure of a chemical or protein. +- **Chart studio** for interactively analyzing columnar data. +- **AI assistant** for interactively analyze and visualize data. +- **Process flows and automations** for streamlining data processing, decision-making, and project management. - -Read more about the Data Hub [here :octicons-link-external-16:](https://docs.deeporigin.io/docs/os/data-hub). \ No newline at end of file +Learn more about the data hub [here :octicons-link-external-16:](https://docs.deeporigin.io/docs/os/data-hub). diff --git a/docs/how-to/auth.md b/docs/how-to/auth.md index 0758806..d7f4222 100644 --- a/docs/how-to/auth.md +++ b/docs/how-to/auth.md @@ -17,13 +17,12 @@ To use most of the functionality of the CLI or Python client, you must first run In either case, you will be presented with a prompt similar to below: -``` -To connect to the Deep Origin platform, navigate your browser to +```shell +To connect to the Deep Origin OS, navigate your browser to https://auth0.com/activate?user_code=VMPZ-PQFG and verify the confirmation code is "VMPZ-PQFG", and click the "Confirm" button. - ``` When you visit that URL, you will see a prompt that looks like: @@ -38,9 +37,8 @@ After signing in, your access tokens will be cached to disk and then automatical be used in subsequent interactions with Deep Origin. !!! info "Authenticating" - In most cases, you only need to authenticate to the Deep Origin platform once. + In most cases, you only need to authenticate to the Deep Origin OS once. You do not need to authenticate every time you use the client or the CLI. - -!!! question "Authenticating on Deep Origin Workstations" - Automatic authentication is currently being worked on on Deep Origin Workstations. Presently, you will still have to authenticate (once) manually on Deep Origin Workstations. +!!! question "Authenticating on Deep Origin workstations" + Presently, workstation users must authenticate (once) to the Deep Origin OS. We plan to develop the capability to automatically authenticate workstation users. diff --git a/docs/how-to/data-hub/create.md b/docs/how-to/data-hub/create.md index a097a6f..62911a4 100644 --- a/docs/how-to/data-hub/create.md +++ b/docs/how-to/data-hub/create.md @@ -1,9 +1,8 @@ -This document describes how to create databases, columns in databases, and folders in the Deep Origin Data Hub. - +This document describes how to create databases, columns in databases, and folders (workspaces) in the Deep Origin data hub. ## Folders -Folders (or workspaces) can be created by specifying a name, and, optionally, a parent. +Folders can be created by specifying a name, and, optionally, a parent. === "CLI" @@ -26,7 +25,7 @@ Folders (or workspaces) can be created by specifying a name, and, optionally, a ```py from deeporigin.data_hub import api - api.create_workspace(name="test-workspace") + api.create_workspace(name="test-folder") ``` To create a folder within another folder, specify the parent: @@ -34,18 +33,17 @@ Folders (or workspaces) can be created by specifying a name, and, optionally, a ```py api.create_workspace( - name="test-workspace-2", + name="test-folder-2", parent_id="parent-id", ) ``` ## Databases -Databases can be created by specifying a name, and, optionally, a parent. +Databases can be created by specifying a name, and, optionally, a parent. === "CLI" - If no parent is specified, the database will be created at the root level. ```bash @@ -78,18 +76,15 @@ Databases can be created by specifying a name, and, optionally, a parent. ) ``` - ## Database columns !!! warning "Work in progress" - There is limited support for creating database columns from the python client and CLI at this time. Not all features are supported yet. - + Currently, this package has limited support for creating database columns. We plan to expand the capabilities of this package. -Create a new database column in an existing database using: +To create a new database column in an existing database, run: === "CLI" - ```bash deeporigin data new column \ --name \ @@ -97,10 +92,8 @@ Create a new database column in an existing database using: --type ``` - === "Python" - ```py from deeporigin.data_hub import api api.add_database_column( @@ -111,5 +104,4 @@ Create a new database column in an existing database using: ) ``` - -This code creates a new column in that database. To configure the type of the column, use the `type` argument. The type must be one of [DataType](../../ref/data-hub/types.md#src.utils.DataType). +This code creates a new column in the existing database. To configure the type of the column, use the `type` argument. The type must a member of [DataType](../../ref/data-hub/types.md#src.utils.DataType). diff --git a/docs/how-to/data-hub/delete.md b/docs/how-to/data-hub/delete.md index 929bc89..c8051c4 100644 --- a/docs/how-to/data-hub/delete.md +++ b/docs/how-to/data-hub/delete.md @@ -1,74 +1,57 @@ -This document describes how to delete +This document describes how to delete objects in the Deep Origin data hub: -- database rows -- database columns -- databases and -- folders - -in the Deep Origin Data Hub. +- Database rows +- Database columns +- Databases +- Folders (workspaces) !!! danger "Exercise caution" - - Deleting a workspace deletes all databases inside it. - - Deleting a column destroys all data in that column, including all files assigned to cells in that column. - - Deleting a database deletes all rows inside it. + - Deleting a folder deletes all of the databases in the folder. + - Deleting a column destroys all of the data in that column, including all of the files assigned to the cells in that column. + - Deleting a database deletes all of the rows in the database. All resources will be deleted without asking for confirmation. ## Delete database rows, databases, and folders -=== "CLI" +To delete multiple rows, databases and folders, run: - Multiple rows, databases and folders can be deleted using: +=== "CLI" ```bash deeporigin data delete --ids ``` - - === "Python" - - ```py from deeporigin.data_hub import api - api.delete_rows(row_ids=["row-1","database-1","workspace-1"]) + api.delete_rows(row_ids=["row-1","database-1","folder-1"]) ``` !!! Info "Rows?" - Rows, workspaces and databases can all be deleted using the `delete_rows` method. - - + Rows, folders and databases can all be deleted using the `delete_rows` method. +## Delete database columns - -## Delete database columns - -Columns in databases can be deleted using: +To delete columns in databases, run: === "CLI" - - ```bash deeporigin data delete --ids --columns ``` !!! warning "Column IDs" - Currently, columns can only be deleted using Column IDs, which are not the same as column names. To view the column IDs of a database, use + Currently, columns can only be deleted using their IDs, which are distinct from their names. To view the IDs of the columns of a database, run: ```bash deeporigin data describe ``` - - === "Python" - - ```py from deeporigin.data_hub import api api.delete_database_column(column_id="col-id") ``` - diff --git a/docs/how-to/data-hub/list-data.md b/docs/how-to/data-hub/list-data.md index 39d62b3..d1bb3cf 100644 --- a/docs/how-to/data-hub/list-data.md +++ b/docs/how-to/data-hub/list-data.md @@ -1,6 +1,6 @@ This page describes how to list resources on Deep Origin. -Listing folders, databases, rows and files can be used +Listing folders (workspaces), databases, rows and files can be used to discover the resources available on Deep Origin, and show their IDs for further queries. diff --git a/docs/how-to/variables.md b/docs/how-to/variables.md index e271778..4cfb1ba 100644 --- a/docs/how-to/variables.md +++ b/docs/how-to/variables.md @@ -1,6 +1,6 @@ # Install variables and secrets -[Variables and secrets](https://docs.deeporigin.io/docs/os/variables-secrets) specified in the Deep Orgin platform, either +[Variables and secrets](https://docs.deeporigin.io/docs/os/variables-secrets) captured in the Deep Orgin OS, either at the organization level or the account level, can be installed into workstations by running the following command: @@ -18,5 +18,5 @@ No variables were deleted EnvironmentVariable: foo ``` -!!! info "Only on Deep Origin Workstations" - This function of the CLI only works on Deep Origin Workstations. This will not work on your local computer. +!!! info "Only on Deep Origin workstations" + This function of the CLI only works on Deep Origin workstations. This function will not work on your local computer. diff --git a/mkdocs.yaml b/mkdocs.yaml index e16be80..76eb1b0 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -42,7 +42,7 @@ nav: - Install: install.md - Configure: configure.md - Authenticate: how-to/auth.md -- Data Hub: +- Data hub: - data-hub/index.md - How to: - Create objects: how-to/data-hub/create.md @@ -55,7 +55,7 @@ nav: - High-level API: ref/data-hub/high-level-api.md - Low-level API: ref/data-hub/low-level-api.md - Types and constants: ref/data-hub/types.md -- Compute Hub: +- Compute hub: - compute-hub/index.md - How to: - Install variables and secrets: how-to/variables.md diff --git a/src/auth.py b/src/auth.py index d5e3c1e..b7ce19c 100644 --- a/src/auth.py +++ b/src/auth.py @@ -132,7 +132,7 @@ def authenticate() -> dict: # Prompt the user to sign into the Deep Origin platform print( ( - "To connect to the Deep Origin platform, " + "To connect to the Deep Origin OS, " f"navigate your browser to \n\n{verification_url}\n\n" f'and verify the confirmation code is "{user_code}", ' 'and click the "Confirm" button.' @@ -171,7 +171,7 @@ def authenticate() -> dict: def refresh_tokens(api_refresh_token: str) -> str: - """Refresh the access token for the DO platform + """Refresh the access token for the Deep Origin OS Args: api_refresh_token (:obj:`str`): API refresh token diff --git a/src/cli/data.py b/src/cli/data.py index b505c06..e5d532c 100644 --- a/src/cli/data.py +++ b/src/cli/data.py @@ -80,7 +80,7 @@ def copy(self): ) @cement.ex( - help="List the files, rows, databases, and/or folders in your Deep Origin data hub", + help="List the files, rows, databases, and/or folders (workspaces) in your Deep Origin data hub", arguments=[ ( ["--files"], @@ -454,15 +454,18 @@ def write(self): print(f"✔︎ Wrote {self.app.pargs.data} to database") @cement.ex( - help="Create new folder, database or database column", + help="Create a new folder (workspace), database, or database column", arguments=[ - (["object_type"], {"help": "Type of resource to create"}), + ( + ["object_type"], + {"help": "Type of resource to create: folder, database, or column "}, + ), ( ["--name"], { "type": str, "required": True, - "help": "Name of database to create", + "help": "Name of database, folder, or column to create", }, ), ( @@ -470,7 +473,7 @@ def write(self): { "type": str, "required": False, - "help": "ID of parent folder to create in", + "help": "ID of the parent folder to create the folder or database in", }, ), ( @@ -478,7 +481,7 @@ def write(self): { "type": str, "required": False, - "help": "ID of database to create a column in", + "help": "ID of database to create the column in", }, ), ( @@ -486,7 +489,7 @@ def write(self): { "type": str, "required": False, - "help": "Key of column to create", + "help": "Programmatic key of the column to create", }, ), ( @@ -494,7 +497,7 @@ def write(self): { "type": str, "required": False, - "help": "Type of database column to create", + "help": "Type of the column to create", }, ), ( @@ -507,7 +510,7 @@ def write(self): ], ) def new(self): - """Create a new database, column, or row in your Data Hub""" + """Create a new database, column, or row in your data hub""" if self.app.pargs.object_type not in ["database", "folder", "column"]: raise DeepOriginException( @@ -552,7 +555,7 @@ def new(self): ) @cement.ex( - help="Delete rows, columns, databases or folders", + help="Delete rows, columns, databases and/or folders (workspaces)", arguments=[ ( ["--ids"], @@ -560,27 +563,27 @@ def new(self): "type": str, "required": True, "nargs": "+", - "help": "IDs of resources to delete", + "help": "IDs of the resources to delete", }, ), ( - ["--json"], + ["--columns"], { "action": "store_true", - "help": "Whether to return data in JSON format [default: False]", + "help": "Whether to delete columns or rows/databases/folders [default: False]", }, ), ( - ["--columns"], + ["--json"], { "action": "store_true", - "help": "Whether to treat these IDs as column IDs [default: False]", + "help": "Whether to return data in JSON format [default: False]", }, ), ], ) def delete(self): - """Delete rows, databases or folders""" + """Delete rows, columns, databases and/or folders""" if self.app.pargs.columns: for column_id in self.app.pargs.ids: diff --git a/src/cli/variables.py b/src/cli/variables.py index dde9b2c..cccc066 100644 --- a/src/cli/variables.py +++ b/src/cli/variables.py @@ -29,7 +29,7 @@ class VariablesController(cement.Controller): - """controller to retrieve and install variables and secrets from the Deep Origin platform""" + """controller to retrieve and install variables and secrets from the Deep Origin OS""" class Meta: label = "variables" @@ -43,7 +43,7 @@ class Meta: class InstallVariablesController(cement.Controller): - """controller to retrieve and install variables and secrets from the Deep Origin platform""" + """controller to retrieve and install variables and secrets from the Deep Origin OS""" class Meta: label = "variables-install" @@ -205,7 +205,7 @@ def _default(self): class AutoInstallVariablesController(cement.Controller): - """controller to automatically install variables and secrets from the Deep Origin platform""" + """controller to automatically install variables and secrets from the Deep Origin OS""" class Meta: label = "variables-auto-install" @@ -260,7 +260,7 @@ class Meta: "dest": "time_period_min", "type": int, "default": 30, - "help": "Time period for updating variables from the Deep Origin platform [default: 30 min, units: min]", + "help": "Time period for updating variables from the Deep Origin OS [default: 30 min, units: min]", }, ), ( @@ -309,7 +309,7 @@ def _default(self): class UninstallVariablesController(cement.Controller): - """controller to uninstall variables and secrets from the Deep Origin platform""" + """controller to uninstall variables and secrets from the Deep Origin OS""" class Meta: label = "variables-uninstall" diff --git a/src/data_hub/api.py b/src/data_hub/api.py index 25f4c97..c0c875a 100644 --- a/src/data_hub/api.py +++ b/src/data_hub/api.py @@ -87,14 +87,14 @@ def create_workspace( hid: Optional[str] = None, parent_id: Optional[str] = None, ): - """Create a new workspace (folder) in the Data Hub + """Create a new folder (workspace) in the data hub - A workspace contains can contain other workspaces and databases. + A folder contains can contain other rows and databases. Args: - name: Name of the workspace to create + name: Name of the folder to create hid: Human ID. If not specified, the name will be used - parent_id: ID of the parent. If None, the workspace is created at the root level + parent_id: ID of the parent. If None, the folder is created at the root level """ if hid is None: hid = name @@ -113,14 +113,14 @@ def create_database( hid: Optional[str] = None, hid_prefix: Optional[str] = None, ): - """Create a new database in the Data Hub + """Create a new database in the data hub A database contains rows of data. Args: name: Name of the database to create hid: Human ID. If not specified, the name will be used - parent_id: ID of the parent. If None, the workspace is created at the root level + parent_id: ID of the parent. If None, the folder is created at the root level hid_prefix: Human ID prefix to be used for each row. If not specified, the name will be used """ if hid_prefix is None: @@ -147,7 +147,7 @@ def list_rows( parent_is_root: Optional[bool] = None, client=None, ) -> list: - """List rows in a database or folder. + """List rows in a database or folder (workspace). Returns a list of rows from folders and databases, based on the parent, row type, or whether the parent is the root. @@ -183,7 +183,7 @@ def download_file( destination: str = os.getcwd(), client=None, ) -> None: - """Download a file to a destination folder. + """Download a file to a destination folder (workspace). Download a file synchronously from Deep Origin to folder on the local file system. @@ -393,7 +393,7 @@ def get_tree( include_rows: bool = True, client=None, ) -> list: - """Construct a tree of all folders, databases and rows. + """Construct a tree of all folders (workspaces), databases and rows. Returns a tree that contains all folders, databases and (optionally) rows. The tree is returned as a dictionary, diff --git a/src/variables/base_type.py b/src/variables/base_type.py index 4b6bb53..62ee975 100644 --- a/src/variables/base_type.py +++ b/src/variables/base_type.py @@ -17,16 +17,16 @@ class Meta: name: str = pydantic.Field(default="", min_length=1, validate_default=True) @classmethod - def from_platform(cls: type[T], platform_value: dict) -> T: - """Create an instance from a dictionary from the Deep Origin platform + def from_platform(cls: type[T], os_value: dict) -> T: + """Create an instance from a dictionary from the Deep Origin OS Args: - platform_value (:obj:`dict`): platform representation of the variable/secret + os_value (:obj:`dict`): OS representation of the variable/secret Returns: :obj:`type[T]`: Python instance of the variable/secret """ - return cls(**platform_value) + return cls(**os_value) @abc.abstractmethod def install( diff --git a/src/variables/core.py b/src/variables/core.py index c344e21..925d2a6 100644 --- a/src/variables/core.py +++ b/src/variables/core.py @@ -91,7 +91,7 @@ def install_variables( overwrite: bool = False, ) -> dict[str, dict[str, typing.Union[str, VariableType]]]: """ - Retrieve the variables and secrets for your workstation from the Deep Origin platform and + Retrieve the variables and secrets for your workstation from the Deep Origin OS and install them into the workstation. Includes your variables and secrets, as well as those of the parent organization of the workstation. @@ -107,7 +107,7 @@ def install_variables( """ prev_variables = get_variables_from_local() - # get variables from the DO platform + # get variables from the DO OS variables = get_variables_from_do_platform(user=user, org=org, types=types) # determine which variables were added, modified, removed, or unmodified @@ -189,7 +189,7 @@ def get_variables_from_do_platform( types: typing.Iterable[VariableType] = tuple(VariableType.__members__.values()), ) -> list[Variable]: """ - Retrieve the variables and secrets for your workstation from the Deep Origin platform. + Retrieve the variables and secrets for your workstation from the Deep Origin OS. Includes your variables and secrets, as well as those of the parent organization of the workstation. @@ -364,14 +364,14 @@ def enable_variable_auto_updating( ) -> None: """ Configure the variables and secrets for your workstation from the Deep Origin - platform to be automatically installed once added or modified. Includes your + OS to be automatically installed once added or modified. Includes your variables and secrets, as well as those of the parent organization of the workstation. Args: user (:obj:`bool`, optional): Whether to retrieve and install user variables and secrets org (:obj:`bool`, optional): Whether to retrieve and install organization variables and secrets types (:obj:`typing.Iterable`, optional): Types of variables and secrets to retrieve and install - time_period_min (:obj:`int`, optional): Time period for updating variables from the Deep Origin platform [default: 30, units: min] + time_period_min (:obj:`int`, optional): Time period for updating variables from the Deep Origin OS [default: 30, units: min] overwrite (:obj:`bool`, optional): Whether to overwrite direct changes to variables and secrets """ # login @@ -536,7 +536,7 @@ def uninstall_variables( overwrite: bool = False, ) -> None: """ - Remove variables and secrets retrieved from the Deep Origin platform, including + Remove variables and secrets retrieved from the Deep Origin OS, including uninstalling variables and secrets. Args: diff --git a/src/variables/types/aws_profile.py b/src/variables/types/aws_profile.py index 5c7c8d3..5724d29 100644 --- a/src/variables/types/aws_profile.py +++ b/src/variables/types/aws_profile.py @@ -31,11 +31,11 @@ class Meta: ) @classmethod - def from_platform(cls: type[T], platform_value: dict) -> T: - """Create an instance from a dictionary from the Deep Origin platform + def from_platform(cls: type[T], os_value: dict) -> T: + """Create an instance from a dictionary from the Deep Origin OS Args: - platform_value (:obj:`dict`): platform representation of the variable/secret + os_value (:obj:`dict`): OS representation of the variable/secret Returns: :obj:`AwsProfile`: Python instance of the variable/secret @@ -44,12 +44,12 @@ def from_platform(cls: type[T], platform_value: dict) -> T: :obj:`DeepOriginException`: if value is invalid """ return cls( - drn=platform_value["drn"], - name=platform_value["name"], - profile=platform_value["profileName"], - access_key_id=platform_value["accessKey"], - secret_access_key=platform_value["secretKey"], - region=platform_value["defaultRegion"] or None, + drn=os_value["drn"], + name=os_value["name"], + profile=os_value["profileName"], + access_key_id=os_value["accessKey"], + secret_access_key=os_value["secretKey"], + region=os_value["defaultRegion"] or None, ) def install( diff --git a/src/variables/types/env_var.py b/src/variables/types/env_var.py index b65ecfe..8812766 100644 --- a/src/variables/types/env_var.py +++ b/src/variables/types/env_var.py @@ -246,7 +246,7 @@ def install_deep_origin_environment_variables( with open(bashrc_filename, "a") as file: file.write("\n\n") file.write("######## BEGIN DEEP ORIGIN CLI ########\n") - file.write("# Load variables from the Deep Origin platform\n") + file.write("# Load variables from the Deep Origin OS\n") file.write("set -o allexport\n") file.write(f"source {user_env_filename}\n") file.write(f"source {system_env_filename}\n") @@ -259,7 +259,7 @@ def get_env_filename( is_user_variable: bool = True, user_home_dirname: str = os.path.expanduser("~"), ) -> str: - """Get the filename where platform managed environment variables should be stored + """Get the filename where OS managed environment variables should be stored Args: is_user_variable (:obj:`bool`, optional): whether the variable is a user or system variable