зеркало из
				https://github.com/docxology/cognitive.git
				synced 2025-10-31 05:06:04 +02:00 
			
		
		
		
	Updates
Этот коммит содержится в:
		
							родитель
							
								
									6c689eb7ff
								
							
						
					
					
						Коммит
						25f46c6412
					
				| @ -1,59 +0,0 @@ | |||||||
| """ |  | ||||||
| Main entry point for the ant colony simulation. |  | ||||||
| """ |  | ||||||
| 
 |  | ||||||
| import argparse |  | ||||||
| import yaml |  | ||||||
| import numpy as np |  | ||||||
| from ant_colony.visualization.renderer import SimulationRenderer |  | ||||||
| from ant_colony.agents.nestmate import Nestmate, Position, TaskType |  | ||||||
| from dataclasses import dataclass |  | ||||||
| from typing import List |  | ||||||
| 
 |  | ||||||
| @dataclass |  | ||||||
| class FoodSource: |  | ||||||
|     """Represents a food source in the environment.""" |  | ||||||
|     position: Position |  | ||||||
|     size: float |  | ||||||
|     value: float |  | ||||||
|     remaining: float |  | ||||||
| 
 |  | ||||||
| @dataclass |  | ||||||
| class Obstacle: |  | ||||||
|     """Represents an obstacle in the environment.""" |  | ||||||
|     position: Position |  | ||||||
|     size: float |  | ||||||
| 
 |  | ||||||
| class Simulation: |  | ||||||
|     """Main simulation class.""" |  | ||||||
|      |  | ||||||
|     def __init__(self, config_path: str): |  | ||||||
|         """Initialize simulation with configuration.""" |  | ||||||
|         with open(config_path, 'r') as f: |  | ||||||
|             self.config = yaml.safe_load(f) |  | ||||||
|              |  | ||||||
|         # Set random seed |  | ||||||
|         np.random.seed(self.config['simulation']['random_seed']) |  | ||||||
|          |  | ||||||
|         # Initialize environment |  | ||||||
|         self.env_size = self.config['environment']['size'] |  | ||||||
|         self.nest_location = self.config['environment']['nest_location'] |  | ||||||
|          |  | ||||||
|         # Initialize agents |  | ||||||
|         self.agents = self._create_agents() |  | ||||||
|          |  | ||||||
|         # Initialize resources |  | ||||||
|         self.food_sources = self._create_food_sources() |  | ||||||
|         self.obstacles = self._create_obstacles() |  | ||||||
|          |  | ||||||
|         # Initialize pheromone grids |  | ||||||
|         self.pheromones = { |  | ||||||
|             'food': np.zeros(self.env_size), |  | ||||||
|             'home': np.zeros(self.env_size) |  | ||||||
|         } |  | ||||||
|          |  | ||||||
|         # Setup visualization if enabled |  | ||||||
|         if self.config['visualization']['realtime']['enabled']: |  | ||||||
|             self.renderer = SimulationRenderer(self.config) |  | ||||||
|         else: |  | ||||||
|             self.renderer = None  |  | ||||||
| @ -1,247 +0,0 @@ | |||||||
| <# |  | ||||||
| .Synopsis |  | ||||||
| Activate a Python virtual environment for the current PowerShell session. |  | ||||||
| 
 |  | ||||||
| .Description |  | ||||||
| Pushes the python executable for a virtual environment to the front of the |  | ||||||
| $Env:PATH environment variable and sets the prompt to signify that you are |  | ||||||
| in a Python virtual environment. Makes use of the command line switches as |  | ||||||
| well as the `pyvenv.cfg` file values present in the virtual environment. |  | ||||||
| 
 |  | ||||||
| .Parameter VenvDir |  | ||||||
| Path to the directory that contains the virtual environment to activate. The |  | ||||||
| default value for this is the parent of the directory that the Activate.ps1 |  | ||||||
| script is located within. |  | ||||||
| 
 |  | ||||||
| .Parameter Prompt |  | ||||||
| The prompt prefix to display when this virtual environment is activated. By |  | ||||||
| default, this prompt is the name of the virtual environment folder (VenvDir) |  | ||||||
| surrounded by parentheses and followed by a single space (ie. '(.venv) '). |  | ||||||
| 
 |  | ||||||
| .Example |  | ||||||
| Activate.ps1 |  | ||||||
| Activates the Python virtual environment that contains the Activate.ps1 script. |  | ||||||
| 
 |  | ||||||
| .Example |  | ||||||
| Activate.ps1 -Verbose |  | ||||||
| Activates the Python virtual environment that contains the Activate.ps1 script, |  | ||||||
| and shows extra information about the activation as it executes. |  | ||||||
| 
 |  | ||||||
| .Example |  | ||||||
| Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv |  | ||||||
| Activates the Python virtual environment located in the specified location. |  | ||||||
| 
 |  | ||||||
| .Example |  | ||||||
| Activate.ps1 -Prompt "MyPython" |  | ||||||
| Activates the Python virtual environment that contains the Activate.ps1 script, |  | ||||||
| and prefixes the current prompt with the specified string (surrounded in |  | ||||||
| parentheses) while the virtual environment is active. |  | ||||||
| 
 |  | ||||||
| .Notes |  | ||||||
| On Windows, it may be required to enable this Activate.ps1 script by setting the |  | ||||||
| execution policy for the user. You can do this by issuing the following PowerShell |  | ||||||
| command: |  | ||||||
| 
 |  | ||||||
| PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser |  | ||||||
| 
 |  | ||||||
| For more information on Execution Policies:  |  | ||||||
| https://go.microsoft.com/fwlink/?LinkID=135170 |  | ||||||
| 
 |  | ||||||
| #> |  | ||||||
| Param( |  | ||||||
|     [Parameter(Mandatory = $false)] |  | ||||||
|     [String] |  | ||||||
|     $VenvDir, |  | ||||||
|     [Parameter(Mandatory = $false)] |  | ||||||
|     [String] |  | ||||||
|     $Prompt |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| <# Function declarations --------------------------------------------------- #> |  | ||||||
| 
 |  | ||||||
| <# |  | ||||||
| .Synopsis |  | ||||||
| Remove all shell session elements added by the Activate script, including the |  | ||||||
| addition of the virtual environment's Python executable from the beginning of |  | ||||||
| the PATH variable. |  | ||||||
| 
 |  | ||||||
| .Parameter NonDestructive |  | ||||||
| If present, do not remove this function from the global namespace for the |  | ||||||
| session. |  | ||||||
| 
 |  | ||||||
| #> |  | ||||||
| function global:deactivate ([switch]$NonDestructive) { |  | ||||||
|     # Revert to original values |  | ||||||
| 
 |  | ||||||
|     # The prior prompt: |  | ||||||
|     if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) { |  | ||||||
|         Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt |  | ||||||
|         Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     # The prior PYTHONHOME: |  | ||||||
|     if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) { |  | ||||||
|         Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME |  | ||||||
|         Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     # The prior PATH: |  | ||||||
|     if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) { |  | ||||||
|         Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH |  | ||||||
|         Remove-Item -Path Env:_OLD_VIRTUAL_PATH |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     # Just remove the VIRTUAL_ENV altogether: |  | ||||||
|     if (Test-Path -Path Env:VIRTUAL_ENV) { |  | ||||||
|         Remove-Item -Path env:VIRTUAL_ENV |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     # Just remove VIRTUAL_ENV_PROMPT altogether. |  | ||||||
|     if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) { |  | ||||||
|         Remove-Item -Path env:VIRTUAL_ENV_PROMPT |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether: |  | ||||||
|     if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) { |  | ||||||
|         Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     # Leave deactivate function in the global namespace if requested: |  | ||||||
|     if (-not $NonDestructive) { |  | ||||||
|         Remove-Item -Path function:deactivate |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| <# |  | ||||||
| .Description |  | ||||||
| Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the |  | ||||||
| given folder, and returns them in a map. |  | ||||||
| 
 |  | ||||||
| For each line in the pyvenv.cfg file, if that line can be parsed into exactly |  | ||||||
| two strings separated by `=` (with any amount of whitespace surrounding the =) |  | ||||||
| then it is considered a `key = value` line. The left hand string is the key, |  | ||||||
| the right hand is the value. |  | ||||||
| 
 |  | ||||||
| If the value starts with a `'` or a `"` then the first and last character is |  | ||||||
| stripped from the value before being captured. |  | ||||||
| 
 |  | ||||||
| .Parameter ConfigDir |  | ||||||
| Path to the directory that contains the `pyvenv.cfg` file. |  | ||||||
| #> |  | ||||||
| function Get-PyVenvConfig( |  | ||||||
|     [String] |  | ||||||
|     $ConfigDir |  | ||||||
| ) { |  | ||||||
|     Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg" |  | ||||||
| 
 |  | ||||||
|     # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue). |  | ||||||
|     $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue |  | ||||||
| 
 |  | ||||||
|     # An empty map will be returned if no config file is found. |  | ||||||
|     $pyvenvConfig = @{ } |  | ||||||
| 
 |  | ||||||
|     if ($pyvenvConfigPath) { |  | ||||||
| 
 |  | ||||||
|         Write-Verbose "File exists, parse `key = value` lines" |  | ||||||
|         $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath |  | ||||||
| 
 |  | ||||||
|         $pyvenvConfigContent | ForEach-Object { |  | ||||||
|             $keyval = $PSItem -split "\s*=\s*", 2 |  | ||||||
|             if ($keyval[0] -and $keyval[1]) { |  | ||||||
|                 $val = $keyval[1] |  | ||||||
| 
 |  | ||||||
|                 # Remove extraneous quotations around a string value. |  | ||||||
|                 if ("'""".Contains($val.Substring(0, 1))) { |  | ||||||
|                     $val = $val.Substring(1, $val.Length - 2) |  | ||||||
|                 } |  | ||||||
| 
 |  | ||||||
|                 $pyvenvConfig[$keyval[0]] = $val |  | ||||||
|                 Write-Verbose "Adding Key: '$($keyval[0])'='$val'" |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|     return $pyvenvConfig |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| <# Begin Activate script --------------------------------------------------- #> |  | ||||||
| 
 |  | ||||||
| # Determine the containing directory of this script |  | ||||||
| $VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition |  | ||||||
| $VenvExecDir = Get-Item -Path $VenvExecPath |  | ||||||
| 
 |  | ||||||
| Write-Verbose "Activation script is located in path: '$VenvExecPath'" |  | ||||||
| Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)" |  | ||||||
| Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)" |  | ||||||
| 
 |  | ||||||
| # Set values required in priority: CmdLine, ConfigFile, Default |  | ||||||
| # First, get the location of the virtual environment, it might not be |  | ||||||
| # VenvExecDir if specified on the command line. |  | ||||||
| if ($VenvDir) { |  | ||||||
|     Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values" |  | ||||||
| } |  | ||||||
| else { |  | ||||||
|     Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir." |  | ||||||
|     $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/") |  | ||||||
|     Write-Verbose "VenvDir=$VenvDir" |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| # Next, read the `pyvenv.cfg` file to determine any required value such |  | ||||||
| # as `prompt`. |  | ||||||
| $pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir |  | ||||||
| 
 |  | ||||||
| # Next, set the prompt from the command line, or the config file, or |  | ||||||
| # just use the name of the virtual environment folder. |  | ||||||
| if ($Prompt) { |  | ||||||
|     Write-Verbose "Prompt specified as argument, using '$Prompt'" |  | ||||||
| } |  | ||||||
| else { |  | ||||||
|     Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value" |  | ||||||
|     if ($pyvenvCfg -and $pyvenvCfg['prompt']) { |  | ||||||
|         Write-Verbose "  Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'" |  | ||||||
|         $Prompt = $pyvenvCfg['prompt']; |  | ||||||
|     } |  | ||||||
|     else { |  | ||||||
|         Write-Verbose "  Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virtual environment)" |  | ||||||
|         Write-Verbose "  Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'" |  | ||||||
|         $Prompt = Split-Path -Path $venvDir -Leaf |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| Write-Verbose "Prompt = '$Prompt'" |  | ||||||
| Write-Verbose "VenvDir='$VenvDir'" |  | ||||||
| 
 |  | ||||||
| # Deactivate any currently active virtual environment, but leave the |  | ||||||
| # deactivate function in place. |  | ||||||
| deactivate -nondestructive |  | ||||||
| 
 |  | ||||||
| # Now set the environment variable VIRTUAL_ENV, used by many tools to determine |  | ||||||
| # that there is an activated venv. |  | ||||||
| $env:VIRTUAL_ENV = $VenvDir |  | ||||||
| 
 |  | ||||||
| if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) { |  | ||||||
| 
 |  | ||||||
|     Write-Verbose "Setting prompt to '$Prompt'" |  | ||||||
| 
 |  | ||||||
|     # Set the prompt to include the env name |  | ||||||
|     # Make sure _OLD_VIRTUAL_PROMPT is global |  | ||||||
|     function global:_OLD_VIRTUAL_PROMPT { "" } |  | ||||||
|     Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT |  | ||||||
|     New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt |  | ||||||
| 
 |  | ||||||
|     function global:prompt { |  | ||||||
|         Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) " |  | ||||||
|         _OLD_VIRTUAL_PROMPT |  | ||||||
|     } |  | ||||||
|     $env:VIRTUAL_ENV_PROMPT = $Prompt |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| # Clear PYTHONHOME |  | ||||||
| if (Test-Path -Path Env:PYTHONHOME) { |  | ||||||
|     Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME |  | ||||||
|     Remove-Item -Path Env:PYTHONHOME |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| # Add the venv to the PATH |  | ||||||
| Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH |  | ||||||
| $Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH" |  | ||||||
| @ -1,69 +0,0 @@ | |||||||
| # This file must be used with "source bin/activate" *from bash* |  | ||||||
| # you cannot run it directly |  | ||||||
| 
 |  | ||||||
| deactivate () { |  | ||||||
|     # reset old environment variables |  | ||||||
|     if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then |  | ||||||
|         PATH="${_OLD_VIRTUAL_PATH:-}" |  | ||||||
|         export PATH |  | ||||||
|         unset _OLD_VIRTUAL_PATH |  | ||||||
|     fi |  | ||||||
|     if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then |  | ||||||
|         PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}" |  | ||||||
|         export PYTHONHOME |  | ||||||
|         unset _OLD_VIRTUAL_PYTHONHOME |  | ||||||
|     fi |  | ||||||
| 
 |  | ||||||
|     # This should detect bash and zsh, which have a hash command that must |  | ||||||
|     # be called to get it to forget past commands.  Without forgetting |  | ||||||
|     # past commands the $PATH changes we made may not be respected |  | ||||||
|     if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then |  | ||||||
|         hash -r 2> /dev/null |  | ||||||
|     fi |  | ||||||
| 
 |  | ||||||
|     if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then |  | ||||||
|         PS1="${_OLD_VIRTUAL_PS1:-}" |  | ||||||
|         export PS1 |  | ||||||
|         unset _OLD_VIRTUAL_PS1 |  | ||||||
|     fi |  | ||||||
| 
 |  | ||||||
|     unset VIRTUAL_ENV |  | ||||||
|     unset VIRTUAL_ENV_PROMPT |  | ||||||
|     if [ ! "${1:-}" = "nondestructive" ] ; then |  | ||||||
|     # Self destruct! |  | ||||||
|         unset -f deactivate |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| # unset irrelevant variables |  | ||||||
| deactivate nondestructive |  | ||||||
| 
 |  | ||||||
| VIRTUAL_ENV=/home/trim/Documents/GitHub/cognitive/ant_colony_env |  | ||||||
| export VIRTUAL_ENV |  | ||||||
| 
 |  | ||||||
| _OLD_VIRTUAL_PATH="$PATH" |  | ||||||
| PATH="$VIRTUAL_ENV/"bin":$PATH" |  | ||||||
| export PATH |  | ||||||
| 
 |  | ||||||
| # unset PYTHONHOME if set |  | ||||||
| # this will fail if PYTHONHOME is set to the empty string (which is bad anyway) |  | ||||||
| # could use `if (set -u; : $PYTHONHOME) ;` in bash |  | ||||||
| if [ -n "${PYTHONHOME:-}" ] ; then |  | ||||||
|     _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}" |  | ||||||
|     unset PYTHONHOME |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then |  | ||||||
|     _OLD_VIRTUAL_PS1="${PS1:-}" |  | ||||||
|     PS1='(ant_colony_env) '"${PS1:-}" |  | ||||||
|     export PS1 |  | ||||||
|     VIRTUAL_ENV_PROMPT='(ant_colony_env) ' |  | ||||||
|     export VIRTUAL_ENV_PROMPT |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # This should detect bash and zsh, which have a hash command that must |  | ||||||
| # be called to get it to forget past commands.  Without forgetting |  | ||||||
| # past commands the $PATH changes we made may not be respected |  | ||||||
| if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then |  | ||||||
|     hash -r 2> /dev/null |  | ||||||
| fi |  | ||||||
| @ -1,26 +0,0 @@ | |||||||
| # This file must be used with "source bin/activate.csh" *from csh*. |  | ||||||
| # You cannot run it directly. |  | ||||||
| # Created by Davide Di Blasi <davidedb@gmail.com>. |  | ||||||
| # Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com> |  | ||||||
| 
 |  | ||||||
| alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate' |  | ||||||
| 
 |  | ||||||
| # Unset irrelevant variables. |  | ||||||
| deactivate nondestructive |  | ||||||
| 
 |  | ||||||
| setenv VIRTUAL_ENV /home/trim/Documents/GitHub/cognitive/ant_colony_env |  | ||||||
| 
 |  | ||||||
| set _OLD_VIRTUAL_PATH="$PATH" |  | ||||||
| setenv PATH "$VIRTUAL_ENV/"bin":$PATH" |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| set _OLD_VIRTUAL_PROMPT="$prompt" |  | ||||||
| 
 |  | ||||||
| if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then |  | ||||||
|     set prompt = '(ant_colony_env) '"$prompt" |  | ||||||
|     setenv VIRTUAL_ENV_PROMPT '(ant_colony_env) ' |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| alias pydoc python -m pydoc |  | ||||||
| 
 |  | ||||||
| rehash |  | ||||||
| @ -1,69 +0,0 @@ | |||||||
| # This file must be used with "source <venv>/bin/activate.fish" *from fish* |  | ||||||
| # (https://fishshell.com/); you cannot run it directly. |  | ||||||
| 
 |  | ||||||
| function deactivate  -d "Exit virtual environment and return to normal shell environment" |  | ||||||
|     # reset old environment variables |  | ||||||
|     if test -n "$_OLD_VIRTUAL_PATH" |  | ||||||
|         set -gx PATH $_OLD_VIRTUAL_PATH |  | ||||||
|         set -e _OLD_VIRTUAL_PATH |  | ||||||
|     end |  | ||||||
|     if test -n "$_OLD_VIRTUAL_PYTHONHOME" |  | ||||||
|         set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME |  | ||||||
|         set -e _OLD_VIRTUAL_PYTHONHOME |  | ||||||
|     end |  | ||||||
| 
 |  | ||||||
|     if test -n "$_OLD_FISH_PROMPT_OVERRIDE" |  | ||||||
|         set -e _OLD_FISH_PROMPT_OVERRIDE |  | ||||||
|         # prevents error when using nested fish instances (Issue #93858) |  | ||||||
|         if functions -q _old_fish_prompt |  | ||||||
|             functions -e fish_prompt |  | ||||||
|             functions -c _old_fish_prompt fish_prompt |  | ||||||
|             functions -e _old_fish_prompt |  | ||||||
|         end |  | ||||||
|     end |  | ||||||
| 
 |  | ||||||
|     set -e VIRTUAL_ENV |  | ||||||
|     set -e VIRTUAL_ENV_PROMPT |  | ||||||
|     if test "$argv[1]" != "nondestructive" |  | ||||||
|         # Self-destruct! |  | ||||||
|         functions -e deactivate |  | ||||||
|     end |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| # Unset irrelevant variables. |  | ||||||
| deactivate nondestructive |  | ||||||
| 
 |  | ||||||
| set -gx VIRTUAL_ENV /home/trim/Documents/GitHub/cognitive/ant_colony_env |  | ||||||
| 
 |  | ||||||
| set -gx _OLD_VIRTUAL_PATH $PATH |  | ||||||
| set -gx PATH "$VIRTUAL_ENV/"bin $PATH |  | ||||||
| 
 |  | ||||||
| # Unset PYTHONHOME if set. |  | ||||||
| if set -q PYTHONHOME |  | ||||||
|     set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME |  | ||||||
|     set -e PYTHONHOME |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" |  | ||||||
|     # fish uses a function instead of an env var to generate the prompt. |  | ||||||
| 
 |  | ||||||
|     # Save the current fish_prompt function as the function _old_fish_prompt. |  | ||||||
|     functions -c fish_prompt _old_fish_prompt |  | ||||||
| 
 |  | ||||||
|     # With the original prompt function renamed, we can override with our own. |  | ||||||
|     function fish_prompt |  | ||||||
|         # Save the return status of the last command. |  | ||||||
|         set -l old_status $status |  | ||||||
| 
 |  | ||||||
|         # Output the venv prompt; color taken from the blue of the Python logo. |  | ||||||
|         printf "%s%s%s" (set_color 4B8BBE) '(ant_colony_env) ' (set_color normal) |  | ||||||
| 
 |  | ||||||
|         # Restore the return status of the previous command. |  | ||||||
|         echo "exit $old_status" | . |  | ||||||
|         # Output the original/"old" prompt. |  | ||||||
|         _old_fish_prompt |  | ||||||
|     end |  | ||||||
| 
 |  | ||||||
|     set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" |  | ||||||
|     set -gx VIRTUAL_ENV_PROMPT '(ant_colony_env) ' |  | ||||||
| end |  | ||||||
| @ -1,33 +0,0 @@ | |||||||
| #!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3 |  | ||||||
| # EASY-INSTALL-ENTRY-SCRIPT: 'ant-colony','console_scripts','ant-colony' |  | ||||||
| import re |  | ||||||
| import sys |  | ||||||
| 
 |  | ||||||
| # for compatibility with easy_install; see #2198 |  | ||||||
| __requires__ = 'ant-colony' |  | ||||||
| 
 |  | ||||||
| try: |  | ||||||
|     from importlib.metadata import distribution |  | ||||||
| except ImportError: |  | ||||||
|     try: |  | ||||||
|         from importlib_metadata import distribution |  | ||||||
|     except ImportError: |  | ||||||
|         from pkg_resources import load_entry_point |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| def importlib_load_entry_point(spec, group, name): |  | ||||||
|     dist_name, _, _ = spec.partition('==') |  | ||||||
|     matches = ( |  | ||||||
|         entry_point |  | ||||||
|         for entry_point in distribution(dist_name).entry_points |  | ||||||
|         if entry_point.group == group and entry_point.name == name |  | ||||||
|     ) |  | ||||||
|     return next(matches).load() |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| globals().setdefault('load_entry_point', importlib_load_entry_point) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| if __name__ == '__main__': |  | ||||||
|     sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) |  | ||||||
|     sys.exit(load_entry_point('ant-colony', 'console_scripts', 'ant-colony')()) |  | ||||||
| @ -1,8 +0,0 @@ | |||||||
| #!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3 |  | ||||||
| # -*- coding: utf-8 -*- |  | ||||||
| import re |  | ||||||
| import sys |  | ||||||
| from numpy.f2py.f2py2e import main |  | ||||||
| if __name__ == '__main__': |  | ||||||
|     sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |  | ||||||
|     sys.exit(main()) |  | ||||||
| @ -1,8 +0,0 @@ | |||||||
| #!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3 |  | ||||||
| # -*- coding: utf-8 -*- |  | ||||||
| import re |  | ||||||
| import sys |  | ||||||
| from fontTools.__main__ import main |  | ||||||
| if __name__ == '__main__': |  | ||||||
|     sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |  | ||||||
|     sys.exit(main()) |  | ||||||
| @ -1,8 +0,0 @@ | |||||||
| #!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3 |  | ||||||
| # -*- coding: utf-8 -*- |  | ||||||
| import re |  | ||||||
| import sys |  | ||||||
| from numpy._configtool import main |  | ||||||
| if __name__ == '__main__': |  | ||||||
|     sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |  | ||||||
|     sys.exit(main()) |  | ||||||
| @ -1,8 +0,0 @@ | |||||||
| #!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3 |  | ||||||
| # -*- coding: utf-8 -*- |  | ||||||
| import re |  | ||||||
| import sys |  | ||||||
| from pip._internal.cli.main import main |  | ||||||
| if __name__ == '__main__': |  | ||||||
|     sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |  | ||||||
|     sys.exit(main()) |  | ||||||
| @ -1,8 +0,0 @@ | |||||||
| #!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3 |  | ||||||
| # -*- coding: utf-8 -*- |  | ||||||
| import re |  | ||||||
| import sys |  | ||||||
| from pip._internal.cli.main import main |  | ||||||
| if __name__ == '__main__': |  | ||||||
|     sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |  | ||||||
|     sys.exit(main()) |  | ||||||
| @ -1,8 +0,0 @@ | |||||||
| #!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3 |  | ||||||
| # -*- coding: utf-8 -*- |  | ||||||
| import re |  | ||||||
| import sys |  | ||||||
| from pip._internal.cli.main import main |  | ||||||
| if __name__ == '__main__': |  | ||||||
|     sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |  | ||||||
|     sys.exit(main()) |  | ||||||
| @ -1,8 +0,0 @@ | |||||||
| #!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3 |  | ||||||
| # -*- coding: utf-8 -*- |  | ||||||
| import re |  | ||||||
| import sys |  | ||||||
| from fontTools.merge import main |  | ||||||
| if __name__ == '__main__': |  | ||||||
|     sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |  | ||||||
|     sys.exit(main()) |  | ||||||
| @ -1,8 +0,0 @@ | |||||||
| #!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3 |  | ||||||
| # -*- coding: utf-8 -*- |  | ||||||
| import re |  | ||||||
| import sys |  | ||||||
| from fontTools.subset import main |  | ||||||
| if __name__ == '__main__': |  | ||||||
|     sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |  | ||||||
|     sys.exit(main()) |  | ||||||
| @ -1 +0,0 @@ | |||||||
| python3 |  | ||||||
| @ -1 +0,0 @@ | |||||||
| /usr/bin/python3 |  | ||||||
| @ -1 +0,0 @@ | |||||||
| python3 |  | ||||||
| @ -1,8 +0,0 @@ | |||||||
| #!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3 |  | ||||||
| # -*- coding: utf-8 -*- |  | ||||||
| import re |  | ||||||
| import sys |  | ||||||
| from fontTools.ttx import main |  | ||||||
| if __name__ == '__main__': |  | ||||||
|     sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) |  | ||||||
|     sys.exit(main()) |  | ||||||
| @ -1 +0,0 @@ | |||||||
| lib |  | ||||||
| @ -1,5 +0,0 @@ | |||||||
| home = /usr/bin |  | ||||||
| include-system-site-packages = false |  | ||||||
| version = 3.11.2 |  | ||||||
| executable = /usr/bin/python3.11 |  | ||||||
| command = /home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3 -m venv /home/trim/Documents/GitHub/cognitive/ant_colony_env |  | ||||||
| @ -1,225 +0,0 @@ | |||||||
| .Dd May 18, 2004 |  | ||||||
| .\" ttx is not specific to any OS, but contrary to what groff_mdoc(7) |  | ||||||
| .\" seems to imply, entirely omitting the .Os macro causes 'BSD' to |  | ||||||
| .\" be used, so I give a zero-width space as its argument. |  | ||||||
| .Os \& |  | ||||||
| .\" The "FontTools Manual" argument apparently has no effect in |  | ||||||
| .\" groff 1.18.1. I think it is a bug in the -mdoc groff package. |  | ||||||
| .Dt TTX 1 "FontTools Manual" |  | ||||||
| .Sh NAME |  | ||||||
| .Nm ttx |  | ||||||
| .Nd tool for manipulating TrueType and OpenType fonts |  | ||||||
| .Sh SYNOPSIS |  | ||||||
| .Nm |  | ||||||
| .Bk |  | ||||||
| .Op Ar option ... |  | ||||||
| .Ek |  | ||||||
| .Bk |  | ||||||
| .Ar file ... |  | ||||||
| .Ek |  | ||||||
| .Sh DESCRIPTION |  | ||||||
| .Nm |  | ||||||
| is a tool for manipulating TrueType and OpenType fonts.  It can convert |  | ||||||
| TrueType and OpenType fonts to and from an |  | ||||||
| .Tn XML Ns -based format called |  | ||||||
| .Tn TTX . |  | ||||||
| .Tn TTX |  | ||||||
| files have a |  | ||||||
| .Ql .ttx |  | ||||||
| extension. |  | ||||||
| .Pp |  | ||||||
| For each |  | ||||||
| .Ar file |  | ||||||
| argument it is given, |  | ||||||
| .Nm |  | ||||||
| detects whether it is a |  | ||||||
| .Ql .ttf , |  | ||||||
| .Ql .otf |  | ||||||
| or |  | ||||||
| .Ql .ttx |  | ||||||
| file and acts accordingly: if it is a |  | ||||||
| .Ql .ttf |  | ||||||
| or |  | ||||||
| .Ql .otf |  | ||||||
| file, it generates a |  | ||||||
| .Ql .ttx |  | ||||||
| file; if it is a |  | ||||||
| .Ql .ttx |  | ||||||
| file, it generates a |  | ||||||
| .Ql .ttf |  | ||||||
| or |  | ||||||
| .Ql .otf |  | ||||||
| file. |  | ||||||
| .Pp |  | ||||||
| By default, every output file is created in the same directory as the |  | ||||||
| corresponding input file and with the same name except for the |  | ||||||
| extension, which is substituted appropriately. |  | ||||||
| .Nm |  | ||||||
| never overwrites existing files; if necessary, it appends a suffix to |  | ||||||
| the output file name before the extension, as in |  | ||||||
| .Pa Arial#1.ttf . |  | ||||||
| .Ss "General options" |  | ||||||
| .Bl -tag -width ".Fl t Ar table" |  | ||||||
| .It Fl h |  | ||||||
| Display usage information. |  | ||||||
| .It Fl d Ar dir |  | ||||||
| Write the output files to directory |  | ||||||
| .Ar dir |  | ||||||
| instead of writing every output file to the same directory as the |  | ||||||
| corresponding input file. |  | ||||||
| .It Fl o Ar file |  | ||||||
| Write the output to |  | ||||||
| .Ar file |  | ||||||
| instead of writing it to the same directory as the |  | ||||||
| corresponding input file. |  | ||||||
| .It Fl v |  | ||||||
| Be verbose.  Write more messages to the standard output describing what |  | ||||||
| is being done. |  | ||||||
| .It Fl a |  | ||||||
| Allow virtual glyphs ID's on compile or decompile. |  | ||||||
| .El |  | ||||||
| .Ss "Dump options" |  | ||||||
| The following options control the process of dumping font files |  | ||||||
| (TrueType or OpenType) to |  | ||||||
| .Tn TTX |  | ||||||
| files. |  | ||||||
| .Bl -tag -width ".Fl t Ar table" |  | ||||||
| .It Fl l |  | ||||||
| List table information.  Instead of dumping the font to a |  | ||||||
| .Tn TTX |  | ||||||
| file, display minimal information about each table. |  | ||||||
| .It Fl t Ar table |  | ||||||
| Dump table |  | ||||||
| .Ar table . |  | ||||||
| This option may be given multiple times to dump several tables at |  | ||||||
| once.  When not specified, all tables are dumped. |  | ||||||
| .It Fl x Ar table |  | ||||||
| Exclude table |  | ||||||
| .Ar table |  | ||||||
| from the list of tables to dump.  This option may be given multiple |  | ||||||
| times to exclude several tables from the dump.  The |  | ||||||
| .Fl t |  | ||||||
| and |  | ||||||
| .Fl x |  | ||||||
| options are mutually exclusive. |  | ||||||
| .It Fl s |  | ||||||
| Split tables.  Dump each table to a separate |  | ||||||
| .Tn TTX |  | ||||||
| file and write (under the name that would have been used for the output |  | ||||||
| file if the |  | ||||||
| .Fl s |  | ||||||
| option had not been given) one small |  | ||||||
| .Tn TTX |  | ||||||
| file containing references to the individual table dump files.  This |  | ||||||
| file can be used as input to |  | ||||||
| .Nm |  | ||||||
| as long as the referenced files can be found in the same directory. |  | ||||||
| .It Fl i |  | ||||||
| .\" XXX: I suppose OpenType programs (exist and) are also affected. |  | ||||||
| Don't disassemble TrueType instructions.  When this option is specified, |  | ||||||
| all TrueType programs (glyph programs, the font program and the |  | ||||||
| pre-program) are written to the |  | ||||||
| .Tn TTX |  | ||||||
| file as hexadecimal data instead of |  | ||||||
| assembly.  This saves some time and results in smaller |  | ||||||
| .Tn TTX |  | ||||||
| files. |  | ||||||
| .It Fl y Ar n |  | ||||||
| When decompiling a TrueType Collection (TTC) file, |  | ||||||
| decompile font number |  | ||||||
| .Ar n , |  | ||||||
| starting from 0. |  | ||||||
| .El |  | ||||||
| .Ss "Compilation options" |  | ||||||
| The following options control the process of compiling |  | ||||||
| .Tn TTX |  | ||||||
| files into font files (TrueType or OpenType): |  | ||||||
| .Bl -tag -width ".Fl t Ar table" |  | ||||||
| .It Fl m Ar fontfile |  | ||||||
| Merge the input |  | ||||||
| .Tn TTX |  | ||||||
| file |  | ||||||
| .Ar file |  | ||||||
| with |  | ||||||
| .Ar fontfile . |  | ||||||
| No more than one |  | ||||||
| .Ar file |  | ||||||
| argument can be specified when this option is used. |  | ||||||
| .It Fl b |  | ||||||
| Don't recalculate glyph bounding boxes.  Use the values in the |  | ||||||
| .Tn TTX |  | ||||||
| file as is. |  | ||||||
| .El |  | ||||||
| .Sh "THE TTX FILE FORMAT" |  | ||||||
| You can find some information about the |  | ||||||
| .Tn TTX |  | ||||||
| file format in |  | ||||||
| .Pa documentation.html . |  | ||||||
| In particular, you will find in that file the list of tables understood by |  | ||||||
| .Nm |  | ||||||
| and the relations between TrueType GlyphIDs and the glyph names used in |  | ||||||
| .Tn TTX |  | ||||||
| files. |  | ||||||
| .Sh EXAMPLES |  | ||||||
| In the following examples, all files are read from and written to the |  | ||||||
| current directory.  Additionally, the name given for the output file |  | ||||||
| assumes in every case that it did not exist before |  | ||||||
| .Nm |  | ||||||
| was invoked. |  | ||||||
| .Pp |  | ||||||
| Dump the TrueType font contained in |  | ||||||
| .Pa FreeSans.ttf |  | ||||||
| to |  | ||||||
| .Pa FreeSans.ttx : |  | ||||||
| .Pp |  | ||||||
| .Dl ttx FreeSans.ttf |  | ||||||
| .Pp |  | ||||||
| Compile |  | ||||||
| .Pa MyFont.ttx |  | ||||||
| into a TrueType or OpenType font file: |  | ||||||
| .Pp |  | ||||||
| .Dl ttx MyFont.ttx |  | ||||||
| .Pp |  | ||||||
| List the tables in |  | ||||||
| .Pa FreeSans.ttf |  | ||||||
| along with some information: |  | ||||||
| .Pp |  | ||||||
| .Dl ttx -l FreeSans.ttf |  | ||||||
| .Pp |  | ||||||
| Dump the |  | ||||||
| .Sq cmap |  | ||||||
| table from |  | ||||||
| .Pa FreeSans.ttf |  | ||||||
| to |  | ||||||
| .Pa FreeSans.ttx : |  | ||||||
| .Pp |  | ||||||
| .Dl ttx -t cmap FreeSans.ttf |  | ||||||
| .Sh NOTES |  | ||||||
| On MS\-Windows and MacOS, |  | ||||||
| .Nm |  | ||||||
| is available as a graphical application to which files can be dropped. |  | ||||||
| .Sh SEE ALSO |  | ||||||
| .Pa documentation.html |  | ||||||
| .Pp |  | ||||||
| .Xr fontforge 1 , |  | ||||||
| .Xr ftinfo 1 , |  | ||||||
| .Xr gfontview 1 , |  | ||||||
| .Xr xmbdfed 1 , |  | ||||||
| .Xr Font::TTF 3pm |  | ||||||
| .Sh AUTHORS |  | ||||||
| .Nm |  | ||||||
| was written by |  | ||||||
| .An -nosplit |  | ||||||
| .An "Just van Rossum" Aq just@letterror.com . |  | ||||||
| .Pp |  | ||||||
| This manual page was written by |  | ||||||
| .An "Florent Rougon" Aq f.rougon@free.fr |  | ||||||
| for the Debian GNU/Linux system based on the existing FontTools |  | ||||||
| documentation.  It may be freely used, modified and distributed without |  | ||||||
| restrictions. |  | ||||||
| .\" For Emacs: |  | ||||||
| .\" Local Variables: |  | ||||||
| .\" fill-column: 72 |  | ||||||
| .\" sentence-end: "[.?!][]\"')}]*\\($\\| $\\|   \\|  \\)[   \n]*" |  | ||||||
| .\" sentence-end-double-space: t |  | ||||||
| .\" End: |  | ||||||
		Загрузка…
	
	
			
			x
			
			
		
	
		Ссылка в новой задаче
	
	Block a user
	 Daniel Ari Friedman
						Daniel Ari Friedman