ziya 0.1.1__tar.gz → 0.1.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ziya might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ziya
3
- Version: 0.1.1
3
+ Version: 0.1.3
4
4
  Summary:
5
5
  Author: Vishnu Krishnaprasad
6
6
  Author-email: vishnukool@gmail.com
@@ -77,7 +77,9 @@ ziya
77
77
 
78
78
  ### Options
79
79
 
80
- `--exclude`: Comma-separated list of files or directories to exclude from the codebase.
80
+ `--exclude`: Comma-separated list of files or directories or file suffix patterns to exclude from the codebase. Eg: `--exclude 'tst,build,*.py'`
81
+
82
+ `--include`: Comma-separated list of directories to include. By default, it only searches for current directory for code files, but you can specify a list of subset directories under current folder to search instead of the entire folder. Eg: `--include='app,src/mappers'`
81
83
 
82
84
  `--profile`: AWS profile to use for the Bedrock LLM.
83
85
 
@@ -86,5 +88,5 @@ ziya
86
88
  `--port`: The port number for frontend app. Default is `6969`.
87
89
 
88
90
  ```bash
89
- ziya --exclude='tst,build,*.py' --profile=ziya --model=sonnet --port=8080
91
+ ziya --include='app,src/mappers' --exclude='tst,build,*.py' --profile=ziya --model=sonnet --port=8080
90
92
  ```
@@ -53,7 +53,9 @@ ziya
53
53
 
54
54
  ### Options
55
55
 
56
- `--exclude`: Comma-separated list of files or directories to exclude from the codebase.
56
+ `--exclude`: Comma-separated list of files or directories or file suffix patterns to exclude from the codebase. Eg: `--exclude 'tst,build,*.py'`
57
+
58
+ `--include`: Comma-separated list of directories to include. By default, it only searches for current directory for code files, but you can specify a list of subset directories under current folder to search instead of the entire folder. Eg: `--include='app,src/mappers'`
57
59
 
58
60
  `--profile`: AWS profile to use for the Bedrock LLM.
59
61
 
@@ -62,5 +64,5 @@ ziya
62
64
  `--port`: The port number for frontend app. Default is `6969`.
63
65
 
64
66
  ```bash
65
- ziya --exclude='tst,build,*.py' --profile=ziya --model=sonnet --port=8080
67
+ ziya --include='app,src/mappers' --exclude='tst,build,*.py' --profile=ziya --model=sonnet --port=8080
66
68
  ```
@@ -47,7 +47,8 @@ def get_combined_document_contents() -> str:
47
47
 
48
48
  combined_contents: str = ""
49
49
  ignored_patterns: List[str] = get_ignored_patterns(user_codebase_dir)
50
- all_files: List[str] = get_complete_file_list(user_codebase_dir, ignored_patterns)
50
+ included_relative_dirs = [pattern.strip() for pattern in os.environ.get("ZIYA_ADDITIONAL_INCLUDE_DIRS", "").split(',')]
51
+ all_files: List[str] = get_complete_file_list(user_codebase_dir, ignored_patterns, included_relative_dirs)
51
52
 
52
53
  print_file_tree(all_files)
53
54
 
@@ -59,7 +60,6 @@ def get_combined_document_contents() -> str:
59
60
  combined_contents += f"File: {file_path}\n{doc.page_content}\n\n"
60
61
  dir_path = os.path.dirname(file_path)
61
62
  if dir_path not in seen_dirs:
62
- # print_file_tree(dir_path, ignored_patterns)
63
63
  seen_dirs.add(dir_path)
64
64
  except Exception as e:
65
65
  print(f"Skipping file {file_path} due to error: {e}")
@@ -74,7 +74,6 @@ def get_combined_document_contents() -> str:
74
74
  print("--------------------------------------------------------")
75
75
  return combined_contents
76
76
 
77
-
78
77
  def get_child_paths(directory: str) -> Generator[str, None, None]:
79
78
  for entry in os.listdir(directory):
80
79
  child_path = os.path.join(directory, entry)
@@ -8,6 +8,8 @@ def main():
8
8
  parser = argparse.ArgumentParser(description="Run with custom options")
9
9
  parser.add_argument("--exclude", default=[], type=lambda x: x.split(','),
10
10
  help="List of files or directories to exclude (e.g., --exclude 'tst,build,*.py')")
11
+ parser.add_argument("--include", default=[], type=lambda x: x.split(','),
12
+ help="List of directories to include (e.g., --include 'src,static'). Only directories for now")
11
13
  parser.add_argument("--profile", type=str, default=None,
12
14
  help="AWS profile to use (e.g., --profile ziya)")
13
15
  parser.add_argument("--model", type=str, choices=["sonnet", "haiku", "opus"], default="haiku",
@@ -19,6 +21,9 @@ def main():
19
21
  additional_excluded_dirs = ','.join([item for item in args.exclude])
20
22
  os.environ["ZIYA_ADDITIONAL_EXCLUDE_DIRS"] = additional_excluded_dirs
21
23
 
24
+ additional_included_dirs = ','.join([item for item in args.include])
25
+ os.environ["ZIYA_ADDITIONAL_INCLUDE_DIRS"] = additional_included_dirs
26
+
22
27
  if args.profile:
23
28
  os.environ["ZIYA_AWS_PROFILE"] = args.profile
24
29
  if args.model:
@@ -30,4 +35,4 @@ def main():
30
35
 
31
36
 
32
37
  if __name__ == "__main__":
33
- main()
38
+ main()
@@ -41,17 +41,17 @@ def get_ignored_patterns(directory: str) -> List[Tuple[str, str]]:
41
41
  return ignored_patterns
42
42
 
43
43
 
44
- def get_complete_file_list(user_codebase_dir: str, ignored_patterns: List[str]) -> List[str]:
44
+ def get_complete_file_list(user_codebase_dir: str, ignored_patterns: List[str], included_relative_dirs: List[str]) -> List[str]:
45
45
  should_ignore = parse_gitignore_patterns(ignored_patterns, base_dir=user_codebase_dir)
46
46
  file_set: Set[str] = set()
47
-
48
- for root, dirs, files in os.walk(user_codebase_dir):
49
- # Filter out ignored directories
50
- dirs[:] = [d for d in dirs if not should_ignore(os.path.join(root, d))]
51
-
52
- for file in files:
53
- file_path = os.path.join(root, file)
54
- if not should_ignore(file_path):
55
- file_set.add(file_path)
47
+ for pattern in included_relative_dirs:
48
+ for root, dirs, files in os.walk(os.path.normpath(os.path.join(user_codebase_dir, pattern))):
49
+ # Filter out ignored directories
50
+ dirs[:] = [d for d in dirs if not should_ignore(os.path.join(root, d))]
51
+
52
+ for file in files:
53
+ file_path = os.path.join(root, file)
54
+ if not should_ignore(file_path):
55
+ file_set.add(file_path)
56
56
 
57
57
  return list(file_set)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "ziya"
3
- version = "0.1.1"
3
+ version = "0.1.3"
4
4
  description = ""
5
5
  authors = ["Vishnu Krishnaprasad <vishnukool@gmail.com>"]
6
6
  readme = "README.md"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes