Emmanuelle Vargas-Gonzalez
2ea9c0c63c
use it on filesystem.py data sink
2021-03-17 15:15:26 -04:00
Emmanuelle Vargas-Gonzalez
827f622c04
provide ability to stream STIX output to fp ``.write()`` file-like object
2021-03-17 15:01:49 -04:00
Chris Lenk
69cd079cc2
Merge pull request #499 from oasis-open/emmanvg-patch-1
...
Update incident weights for semantic similarity
2021-03-15 09:35:21 -04:00
Chris Lenk
ccf3b1a0fc
Merge pull request #480 from emmanvg/479-pagination-taxii-datastore
...
Support Pagination in TAXII DataStore
2021-03-15 09:33:42 -04:00
Emmanuelle Vargas-Gonzalez
f7ebd34c8c
Update __init__.py
...
fix incident entry
2021-03-12 16:49:23 -05:00
Emmanuelle Vargas-Gonzalez
7e5d31742c
remove `six` from tests
2021-03-12 16:46:34 -05:00
Emmanuelle Vargas-Gonzalez
c9e66def60
rename test, update the rest of the docstrings for object_similarity() and object_equivalence()
2021-03-10 13:32:02 -05:00
Emmanuelle Vargas-Gonzalez
7d7c56c64b
Update stix2/environment.py
2021-03-10 09:52:24 -05:00
Emmanuelle Vargas-Gonzalez
262284444e
Update stix2/environment.py
...
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-03-10 09:52:15 -05:00
Emmanuelle Vargas-Gonzalez
fb6852b38f
update test suite
2021-03-01 20:47:30 -05:00
Emmanuelle Vargas-Gonzalez
bd996b8750
Update __init__.py
2021-03-01 14:40:05 -05:00
Emmanuelle Vargas-Gonzalez
72a12e96ba
update guide example, conf.py and remove some unused imports
2021-03-01 13:14:03 -05:00
Emmanuelle Vargas-Gonzalez
e4e6f46089
change key name for _refs check
2021-03-01 12:54:01 -05:00
Emmanuelle Vargas-Gonzalez
3efa4c1ce9
revert part changes
2021-03-01 12:44:35 -05:00
Emmanuelle Vargas-Gonzalez
d2e867b52e
docstring corrections
2021-03-01 12:29:33 -05:00
Emmanuelle Vargas-Gonzalez
ff5014c606
expose configuration options, combine weight dictionary, update tests
2021-03-01 12:27:52 -05:00
Emmanuelle Vargas-Gonzalez
f9a52eeed3
WIP: changes to both similarity functions, expose settings
2021-02-26 19:19:33 -05:00
Emmanuelle Vargas-Gonzalez
b3d0c7b58a
styling changes
2021-02-20 00:13:36 -05:00
Emmanuelle Vargas-Gonzalez
e4039231f4
missing link and test case
2021-02-20 00:10:38 -05:00
Emmanuelle Vargas-Gonzalez
d5e6226c82
update hyperlinks to STIX 2.1 CS 02
2021-02-19 23:27:41 -05:00
Emmanuelle Vargas-Gonzalez
479cff818a
few leftover changes...
2021-02-19 22:15:11 -05:00
Emmanuelle Vargas-Gonzalez
9043a9dc8e
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal
2021-02-19 21:54:46 -05:00
Emmanuelle Vargas-Gonzalez
5067a3ff76
couple of changes after merging against master
2021-02-19 10:05:56 -05:00
Chris Lenk
4bccfd26bd
Merge pull request #492 from oasis-open/drop-six
...
Drop 'six' dependency (backwards breaking)
2021-02-18 23:45:13 -05:00
Chris Lenk
64608e7bea
Merge pull request #491 from emmanvg/graph-eq-changes
...
Graph Equivalence Changes
2021-02-18 23:44:39 -05:00
Emmanuelle Vargas-Gonzalez
a8b6fa2100
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal
2021-02-18 16:04:30 -05:00
Chris Lenk
b4a0a9ea10
Remove six dependency (backwards breaking)
...
We've already removed Python 2 from our test harness, but this removes
all python 2 compatibility code left in.
2021-02-18 12:38:35 -05:00
Chris Lenk
490251dd85
Revert JSON canonicalization code
...
Undo our Python 2 compatibility fixes
2021-02-18 12:21:52 -05:00
Emmanuelle Vargas-Gonzalez
99453770cf
doctring changes, _versioned_checks changes
2021-02-18 10:37:34 -05:00
Emmanuelle Vargas-Gonzalez
fa6978969b
removing unused imports (backwards breaking)
2021-02-18 10:20:42 -05:00
Emmanuelle Vargas-Gonzalez
010593345c
Update stix2/environment.py
...
docstrings
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:16:19 -05:00
Emmanuelle Vargas-Gonzalez
75b411df85
Update stix2/environment.py
...
docstrings
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:15:26 -05:00
Emmanuelle Vargas-Gonzalez
75574c9427
Update stix2/equivalence/object/__init__.py
...
docstrings
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:15:09 -05:00
Emmanuelle Vargas-Gonzalez
34feac6ae7
Update stix2/environment.py
...
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:14:47 -05:00
Emmanuelle Vargas-Gonzalez
154fc4e236
Update stix2/equivalence/object/__init__.py
...
update variable names
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:14:34 -05:00
Emmanuelle Vargas-Gonzalez
52c5f3ad29
Update stix2/equivalence/object/__init__.py
...
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:14:10 -05:00
Emmanuelle Vargas-Gonzalez
702c80bd53
add styling changes
2021-02-17 21:47:56 -05:00
Emmanuelle Vargas-Gonzalez
ee63e9faf4
resolve issue regarding reference_check or list_reference_check, remove redundant object_similarity call
...
update test suite
2021-02-17 21:30:14 -05:00
Emmanuelle Vargas-Gonzalez
c656d35da5
add more test coverage for new functions
2021-02-16 13:40:42 -05:00
Emmanuelle Vargas-Gonzalez
d2d85badb2
make some functions internal, add some docs for them
2021-02-16 11:01:07 -05:00
Emmanuelle Vargas-Gonzalez
09fd8c060b
clear debug message
2021-02-16 10:23:02 -05:00
Emmanuelle Vargas-Gonzalez
fbea229004
add styling changes
2021-02-16 09:44:03 -05:00
Emmanuelle Vargas-Gonzalez
ef610ec8d3
small docstring fix
2021-02-16 09:36:09 -05:00
Emmanuelle Vargas-Gonzalez
f966c64b40
update test suite for environments
2021-02-16 01:05:46 -05:00
Emmanuelle Vargas-Gonzalez
690a515f00
add methods to environment.py
2021-02-16 00:58:33 -05:00
Emmanuelle Vargas-Gonzalez
02b076b3bb
resolve issues with graph similarity
...
- new methods for graph equivalence and similarity
- remove sorting and len comparisons
- rename some variables
2021-02-16 00:57:26 -05:00
Michael Chisholm
745696cba1
Remove "canonical" from a couple more places in docstrings which
...
I missed.
2021-02-14 19:25:59 -05:00
Michael Chisholm
ccaa8b62ae
pre-commit stylistic fix
2021-02-11 19:35:28 -05:00
Michael Chisholm
631460f45f
Rename various symbols and change various comments to refer to
...
normalization instead of canonicalization.
2021-02-11 19:33:57 -05:00
Chris Lenk
e513081100
Merge pull request #458 from chisholm/versioning_refinements
...
Versioning refinements
2021-02-06 22:59:18 -05:00
Chris Lenk
5971129b7c
Avoid potential KeyError in _is_versionable_type()
2021-02-05 17:42:04 -05:00
Michael Chisholm
5a210192bd
pre-commit stylistic fix
2021-02-04 17:33:25 -05:00
Michael Chisholm
9e9a61c71c
Fix bug with observation expression DNF transformer, where it was
...
not preserving operand order when distributing FOLLOWEDBY.
2021-02-04 16:45:39 -05:00
Emmanuelle Vargas-Gonzalez
30fd8c3464
compact calls
2021-02-02 00:08:11 -05:00
Emmanuelle Vargas-Gonzalez
a7eb4113de
minor change to align API
2021-02-02 00:04:04 -05:00
Emmanuelle Vargas-Gonzalez
489970718f
WIP: changes to graph_similarity
...
busted main loop, symmetrical properties not present
2021-02-01 22:35:37 -05:00
Chris Lenk
bfc47e73f5
Merge pull request #485 from oasis-open/emmanvg-patch-1
...
Update CustomObservale decorator
2021-01-29 09:52:00 -05:00
Michael Chisholm
624d71ed53
pre-commit stylistic fixes
2021-01-28 23:02:23 -05:00
Michael Chisholm
0dd6462d60
Add some unit tests which try to version marking-definitions.
2021-01-28 23:02:23 -05:00
Michael Chisholm
a97645abc3
Add some missing docstrings on a few exception classes.
2021-01-28 23:02:23 -05:00
Michael Chisholm
c74d06aadc
Improve versioning.new_version() to better handle custom objects
...
and dicts, and add better raised exception types if versioning
couldn't be done. I changed workbench monkeypatching a bit, to
copy some class attributes over to the workbench wrapper
class-like callables, since some code expected those attributes
to be there (e.g. the versioning code).
2021-01-28 23:02:23 -05:00
Chris Lenk
3878788da4
Update is_sro docstring
2021-01-28 22:54:52 -05:00
Michael Chisholm
98b0b2ed41
pre-commit stylistic fix
2021-01-28 19:32:27 -05:00
Michael Chisholm
83abf78af5
Remove old compatibility code regarding importing the old
...
stix2.core module.
2021-01-28 19:21:57 -05:00
Michael Chisholm
eead72aabc
Fix docstring typo in is_marking(). Made a minor docstring
...
update to is_sro() as well, so it doesn't talk as if you can
register custom SROs. That didn't actually make sense.
2021-01-27 22:25:41 -05:00
Emmanuelle Vargas-Gonzalez
77d20c787a
Update observables.py
...
Add missing common properties in decorator closes #484
2021-01-27 11:31:14 -05:00
Emmanuelle Vargas-Gonzalez
a62dfbb41b
missing common properties on CustomObservable decorator
2021-01-26 22:17:03 -05:00
Michael Chisholm
f9b9e0d2d7
pre-commit stylistic fixes
2021-01-20 20:59:10 -05:00
Michael Chisholm
404fcd04ca
Remove some ugly python2 compatibilty code from stix2.versioning
...
module, since we no longer support python2.
2021-01-20 20:58:13 -05:00
Michael Chisholm
38067a6ec7
pre-commit stylistic fixes
2021-01-20 20:49:01 -05:00
Michael Chisholm
92a478b39b
A minor revision to stix2.versioning: it's silly to look up a
...
class in the registry when you have an instance of one of those
classes. Because in that case, you can just get the class of the
instance and not deal with the registry at all.
2021-01-20 19:42:06 -05:00
Michael Chisholm
5aadf1ae91
Add some unit tests for attempting to change ID contributing
...
properties of a 2.1 SCO with UUIDv5 ID, when creating a new
version.
2021-01-20 19:16:22 -05:00
Michael Chisholm
473e7d0068
Change versioning module to use some of the is_* utility
...
functions. Changed some ">= 2.1" stix version semantics to be
"== 2.1", because we don't have any version >= 2.1, so they are
currently equivalent, and the is_*() functions don't support
STIX version ranges. They only support exact versions. We can
look at this again if a newer STIX version ever emerges.
Also added a class_for_type() function to the registry module,
which was useful for the versioning module changes described
above. I thought that function would be helpful in the parsing
module, to simplify code there, so I changed that module a bit
to use it.
2021-01-20 16:59:39 -05:00
Michael Chisholm
fe2330af07
Improve is_sdo() et al utility functions with respect to
...
dict/mapping values: do a simple verification of the value's
STIX version, not just its type. Added a lot more unit tests to
test behavior on dicts. To make the implementation work, I had
to move the detect_spec_version() function out of the parsing
module and into utils. So that required small changes at all
its previous call sites.
2021-01-20 16:59:39 -05:00
Michael Chisholm
f8c86f7352
Fixups after a rebase. There were several conflict resolutions
...
and I probably forgot some stuff...
2021-01-20 16:59:39 -05:00
Michael Chisholm
bf284d0a0b
Fix silly docstring copy-paste typo
2021-01-20 16:59:39 -05:00
Michael Chisholm
db1d0b736b
Remove registry.get_stix2_class_maps(), since now that the
...
class map structure is keyed by normal "X.Y" style versions,
the convenience that function provided is no longer necessary.
So it no longer makes sense to have the function (at least,
not for that reason). Change users of that function to use
the STIX2_OBJ_MAPS structure directly.
2021-01-20 16:59:39 -05:00
Michael Chisholm
f88fba6751
Change the stix2 class map structure to be keyed at the top
...
level with STIX versions in the same format as is used everywhere
else in the API: "X.Y", as opposed to the "vXY" format used by
the version-specific python packages. This eliminates all of
the awkward conversion from public API format to "vXX" format.
Also a little bit of code rearranging in the registration module
to ensure that some STIX 2.1-specific checks are done whether
version 2.1 is given explicitly or is defaulted to.
In the same module I also added a missing import of
stix2.properties, since my IDE was claiming it could not find a
function from that module.
2021-01-20 16:59:38 -05:00
Michael Chisholm
188f704b28
Remove a "this needs to be moved into the stix2 library" comment,
...
since this *is* in the stix2 library!
2021-01-20 16:59:38 -05:00
Michael Chisholm
24307626b0
Move get_stix2_class_maps() from .utils to .registry (since it's
...
really just a simple accessor into the class maps table), and
change other code to use it, in places where it was simple and
made sense.
2021-01-20 16:59:38 -05:00
Michael Chisholm
0f2ce0ac72
Add unit tests for the is_*() utility type checking functions.
2021-01-20 16:59:38 -05:00
Michael Chisholm
51937232db
Fix to an import statement which was necessary due to the
...
circular import refactoring. I think I just forgot to include
this in the previous commit...
2021-01-20 16:59:38 -05:00
Michael Chisholm
fa6cff8a34
WIP adding is_sdo() et al functions to this library. On hold
...
while I address circular import problems.
2021-01-20 16:59:38 -05:00
Emmanuelle Vargas-Gonzalez
a48af17cf9
styling fixes
2021-01-15 16:05:57 -05:00
Emmanuelle Vargas-Gonzalez
367b485fcd
write some tests to check new MarkingDefinition constraints
2021-01-15 16:01:36 -05:00
Emmanuelle Vargas-Gonzalez
b696f14560
add content for basic incident testing
2021-01-15 15:13:30 -05:00
Emmanuelle Vargas-Gonzalez
be0ebbad65
add test_incident.py
2021-01-15 13:53:43 -05:00
Emmanuelle Vargas-Gonzalez
82390ba648
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal
2021-01-15 13:01:30 -05:00
Chris Lenk
a0d535336e
Merge 'master' and fix imports for consistency
2021-01-15 12:34:10 -05:00
Chris Lenk
7de5c458bb
Fix import sort order
2021-01-15 10:27:39 -05:00
Chris Lenk
a3f20dde7a
Use consistent import style in parsing.py
2021-01-15 10:27:23 -05:00
Emmanuelle Vargas-Gonzalez
983f931ecd
some missing fixes...
...
- for some reason they only showed up on PY38
2021-01-13 19:48:33 -05:00
Emmanuelle Vargas-Gonzalez
85c14d1502
all changes from add-trailing-commas v2.0.2
2021-01-13 17:52:15 -05:00
Emmanuelle Vargas-Gonzalez
acc90c2f4c
changes brought by isort and add-trailing-commas
2021-01-13 17:50:21 -05:00
Michael Chisholm
5d016142cf
Small tweaks: move the definition of DEFAULT_VERSION from the
...
top-level stix2 package to stix2.version but import it into
stix2. This makes it possible for someone to get the symbol
without needing to import all of stix2.
Change an "import X" style import to "from X import Y" in
stix2/__init__.py to be consistent with the other imports in
that file.
2021-01-13 11:22:34 -05:00
Michael Chisholm
f51e309775
Refactor stix2.parsing into more focused modules:
...
- stix2.registry, which contains the class mapping structure
and code for scanning stix2 modules for its initial population
- stix2.registration, which contains code used to register custom
STIX types with the registry
- stix2.parsing, which contains code for creating instances of
registered stix2 classes from raw dicts.
This is intended to reduce circular import problems, by giving
dependent code the ability to import a module which has exactly
the functionality it needs, without pulling a lot of other stuff
it doesn't need. Fewer imports means less chance of an import
cycle.
2021-01-08 22:08:33 -05:00
Emmanuelle Vargas-Gonzalez
a86b21dbf7
add checks for MarkingDefinition requirements
2020-12-23 16:15:31 -05:00
Emmanuelle Vargas-Gonzalez
6a6f13c37b
rename the Class auto-naming from 'STIXExtension' to 'ExtensionDefinition'
2020-12-23 16:07:30 -05:00
Emmanuelle Vargas-Gonzalez
a3fce3686a
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal
2020-12-23 15:08:10 -05:00
Emmanuelle Vargas-Gonzalez
ef2ef95c3a
`stix-extension` to `extension-definition`
2020-12-22 21:59:18 -05:00