1. handle escape character;
  2. handle items filtering
    based on entered letters;
  3. redraw UI when the filter
    changes;
  4. TODO
    handle selection changes via arrows, hjkl;
  5. TODO
    handle selection after Enter has been pressed;
		
	
			
		
			
				
	
	
		
			250 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
			
		
		
	
	
			250 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
[project]
 | 
						|
description = 'set of tools for software development'
 | 
						|
requires-python = '>= 3.10'
 | 
						|
maintainers = [
 | 
						|
  { name = 'Siarhei Siniak', email = 'siarheisiniak@gmail.com' },
 | 
						|
]
 | 
						|
classifiers = [
 | 
						|
  'Programming Language :: Python',
 | 
						|
]
 | 
						|
 | 
						|
name = 'online.fxreader.pr34'
 | 
						|
# version = '0.1.5.16+27.7'
 | 
						|
dynamic = [
 | 
						|
    'version',
 | 
						|
]
 | 
						|
 | 
						|
dependencies = [
 | 
						|
    #"-r requirements.txt",
 | 
						|
    'mypy',
 | 
						|
    'marisa-trie',
 | 
						|
    'pydantic',
 | 
						|
    'pydantic-settings',
 | 
						|
    'tomlkit',
 | 
						|
		'tomlq',
 | 
						|
		'pip==25.1',
 | 
						|
]
 | 
						|
 | 
						|
[project.optional-dependencies]
 | 
						|
crypto = [
 | 
						|
	'cryptography',
 | 
						|
]
 | 
						|
 | 
						|
django = [
 | 
						|
	'django',
 | 
						|
]
 | 
						|
 | 
						|
fastapi = [
 | 
						|
	'uvicorn',
 | 
						|
	'fastapi',
 | 
						|
	'uvloop',
 | 
						|
]
 | 
						|
 | 
						|
early = [
 | 
						|
    'numpy',
 | 
						|
    'cryptography',
 | 
						|
    # 'tomlkit',
 | 
						|
]
 | 
						|
 | 
						|
lint = [
 | 
						|
    'tomli',
 | 
						|
    # 'tomllib',
 | 
						|
    'mypy',
 | 
						|
    'django-stubs',
 | 
						|
    'pyright',
 | 
						|
    'ruff',
 | 
						|
		'fastapi',
 | 
						|
		'uvicorn',
 | 
						|
		'pip==25.1',
 | 
						|
    # 'tomlkit',
 | 
						|
]
 | 
						|
 | 
						|
[tool.online-fxreader-pr34]
 | 
						|
early_features = ['default', 'early', 'lint',]
 | 
						|
 | 
						|
[build-system]
 | 
						|
requires = ["meson-python", "pybind11"]
 | 
						|
build-backend = "mesonpy"
 | 
						|
 | 
						|
[project.scripts]
 | 
						|
online-fxreader-pr34-commands = 'online.fxreader.pr34.commands:commands_cli'
 | 
						|
 | 
						|
 | 
						|
[tool.ruff]
 | 
						|
line-length = 160
 | 
						|
target-version = 'py310'
 | 
						|
# builtins = ['_', 'I', 'P']
 | 
						|
include = [
 | 
						|
    # 'follow_the_leader/**/*.py',
 | 
						|
    #'*.py',
 | 
						|
    # '*.recipe',
 | 
						|
    './*.py',
 | 
						|
    'online/**/*.py',
 | 
						|
    'online/**/*.pyi',
 | 
						|
    '../dotfiles/.vim/**/*.py',
 | 
						|
]
 | 
						|
exclude = [
 | 
						|
    '.venv',
 | 
						|
]
 | 
						|
 | 
						|
[tool.ruff.format]
 | 
						|
quote-style = 'single'
 | 
						|
indent-style = 'tab'
 | 
						|
skip-magic-trailing-comma = false
 | 
						|
 | 
						|
 | 
						|
[tool.ruff.lint]
 | 
						|
ignore = [
 | 
						|
    'E402', 'E722', 'E741', 'W191', 'E101', 'E501', 'I001', 'F401', 'E714',
 | 
						|
    'E713',
 | 
						|
    # remove lambdas later on
 | 
						|
    'E731',
 | 
						|
    # fix this too
 | 
						|
    'E712',
 | 
						|
    'E703',
 | 
						|
    # remove unused variables, or fix a bug
 | 
						|
    'F841',
 | 
						|
    # fix * imports
 | 
						|
    'F403',
 | 
						|
    # don't care about trailing new lines
 | 
						|
    'W292',
 | 
						|
 | 
						|
]
 | 
						|
select = ['E', 'F', 'I', 'W', 'INT']
 | 
						|
 | 
						|
 | 
						|
[tool.ruff.lint.isort]
 | 
						|
detect-same-package = true
 | 
						|
# extra-standard-library = ["aes", "elementmaker", "encodings"]
 | 
						|
# known-first-party = ["calibre_extensions", "calibre_plugins", "polyglot"]
 | 
						|
# known-third-party = ["odf", "qt", "templite", "tinycss", "css_selectors"]
 | 
						|
relative-imports-order = "closest-to-furthest"
 | 
						|
split-on-trailing-comma = true
 | 
						|
section-order = [
 | 
						|
    # '__python__',
 | 
						|
    "future",
 | 
						|
    "standard-library", "third-party", "first-party", "local-folder"
 | 
						|
]
 | 
						|
force-wrap-aliases = true
 | 
						|
 | 
						|
# [tool.ruff.lint.isort.sections]
 | 
						|
# '__python__' = ['__python__']
 | 
						|
 | 
						|
[tool.pylsp-mypy]
 | 
						|
enabled = false
 | 
						|
 | 
						|
[tool.pyright]
 | 
						|
include = [
 | 
						|
    #'../../../../../follow_the_leader/views2/payments.py',
 | 
						|
    #'../../../../../follow_the_leader/logic/payments.py',
 | 
						|
    #'../../../../../follow_the_leader/logic/paypal.py',
 | 
						|
    'online/fxreader/pr34/commands_typed/**/*.py',
 | 
						|
]
 | 
						|
# stubPath = '../mypy-stubs'
 | 
						|
extraPaths = [
 | 
						|
    '.',
 | 
						|
    '../mypy-stubs',
 | 
						|
    '../mypy-stubs/types-debugpy',
 | 
						|
    '../mypy-stubs/marisa-trie-types',
 | 
						|
    # '../../../../../',
 | 
						|
]
 | 
						|
#strict = ["src"]
 | 
						|
 | 
						|
analyzeUnannotatedFunctions = true
 | 
						|
disableBytesTypePromotions = true
 | 
						|
strictParameterNoneValue = true
 | 
						|
enableTypeIgnoreComments = true
 | 
						|
enableReachabilityAnalysis = true
 | 
						|
strictListInference = true
 | 
						|
strictDictionaryInference = true
 | 
						|
strictSetInference = true
 | 
						|
deprecateTypingAliases = false
 | 
						|
enableExperimentalFeatures = false
 | 
						|
reportMissingTypeStubs ="error"
 | 
						|
reportMissingModuleSource = "warning"
 | 
						|
reportInvalidTypeForm = "error"
 | 
						|
reportMissingImports = "error"
 | 
						|
reportUndefinedVariable = "error"
 | 
						|
reportAssertAlwaysTrue = "error"
 | 
						|
reportInvalidStringEscapeSequence = "error"
 | 
						|
reportInvalidTypeVarUse = "error"
 | 
						|
reportSelfClsParameterName = "error"
 | 
						|
reportUnsupportedDunderAll = "error"
 | 
						|
reportUnusedExpression = "error"
 | 
						|
reportWildcardImportFromLibrary = "error"
 | 
						|
reportAbstractUsage = "error"
 | 
						|
reportArgumentType = "error"
 | 
						|
reportAssertTypeFailure = "error"
 | 
						|
reportAssignmentType = "error"
 | 
						|
reportAttributeAccessIssue = "error"
 | 
						|
reportCallIssue = "error"
 | 
						|
reportGeneralTypeIssues = "error"
 | 
						|
reportInconsistentOverload = "error"
 | 
						|
reportIndexIssue = "error"
 | 
						|
reportInvalidTypeArguments = "error"
 | 
						|
reportNoOverloadImplementation = "error"
 | 
						|
reportOperatorIssue = "error"
 | 
						|
reportOptionalSubscript = "error"
 | 
						|
reportOptionalMemberAccess = "error"
 | 
						|
reportOptionalCall = "error"
 | 
						|
reportOptionalIterable = "error"
 | 
						|
reportOptionalContextManager = "error"
 | 
						|
reportOptionalOperand = "error"
 | 
						|
reportRedeclaration = "error"
 | 
						|
reportReturnType = "error"
 | 
						|
reportTypedDictNotRequiredAccess = "error"
 | 
						|
reportPrivateImportUsage = "error"
 | 
						|
reportUnboundVariable = "error"
 | 
						|
reportUnhashable = "error"
 | 
						|
reportUnusedCoroutine = "error"
 | 
						|
reportUnusedExcept = "error"
 | 
						|
reportFunctionMemberAccess = "error"
 | 
						|
reportIncompatibleMethodOverride = "error"
 | 
						|
reportIncompatibleVariableOverride = "error"
 | 
						|
reportOverlappingOverload = "error"
 | 
						|
reportPossiblyUnboundVariable = "error"
 | 
						|
reportConstantRedefinition = "error"
 | 
						|
#reportDeprecated = "error"
 | 
						|
reportDeprecated = "warning"
 | 
						|
reportDuplicateImport = "error"
 | 
						|
reportIncompleteStub = "error"
 | 
						|
reportInconsistentConstructor = "error"
 | 
						|
reportInvalidStubStatement = "error"
 | 
						|
reportMatchNotExhaustive = "error"
 | 
						|
reportMissingParameterType = "error"
 | 
						|
reportMissingTypeArgument = "error"
 | 
						|
reportPrivateUsage = "error"
 | 
						|
reportTypeCommentUsage = "error"
 | 
						|
reportUnknownArgumentType = "error"
 | 
						|
reportUnknownLambdaType = "error"
 | 
						|
reportUnknownMemberType = "error"
 | 
						|
reportUnknownParameterType = "error"
 | 
						|
reportUnknownVariableType = "error"
 | 
						|
#reportUnknownVariableType = "warning"
 | 
						|
reportUnnecessaryCast = "error"
 | 
						|
reportUnnecessaryComparison = "error"
 | 
						|
reportUnnecessaryContains = "error"
 | 
						|
#reportUnnecessaryIsInstance = "error"
 | 
						|
reportUnnecessaryIsInstance = "warning"
 | 
						|
reportUnusedClass = "error"
 | 
						|
#reportUnusedImport = "error"
 | 
						|
reportUnusedImport = "none"
 | 
						|
# reportUnusedFunction = "error"
 | 
						|
reportUnusedFunction = "warning"
 | 
						|
#reportUnusedVariable = "error"
 | 
						|
reportUnusedVariable = "warning"
 | 
						|
reportUntypedBaseClass = "error"
 | 
						|
reportUntypedClassDecorator = "error"
 | 
						|
reportUntypedFunctionDecorator = "error"
 | 
						|
reportUntypedNamedTuple = "error"
 | 
						|
reportCallInDefaultInitializer = "none"
 | 
						|
reportImplicitOverride = "none"
 | 
						|
reportImplicitStringConcatenation = "none"
 | 
						|
reportImportCycles = "none"
 | 
						|
reportMissingSuperCall = "none"
 | 
						|
reportPropertyTypeMismatch = "none"
 | 
						|
reportShadowedImports = "none"
 | 
						|
reportUninitializedInstanceVariable = "none"
 | 
						|
reportUnnecessaryTypeIgnoreComment = "none"
 | 
						|
reportUnusedCallResult = "none"
 |