зеркало из
				https://github.com/docxology/cognitive.git
				synced 2025-10-30 04:36:05 +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